求X,Y的平均值

news/2024/11/23 21:07:31/

看到一个牛X的:(X & Y) + ((X ^ Y) >> 1)求X和Y的平均值

思路:

把X和Y搞成二进制,按照对应的每一位的情况分为三部分:(1,1) (1,0),(0,0),并以此将X+ Y拆分为三部分

假设X = 13, Y = 27

13 :0000 1101

27 :0001 1011

第一部分:即(1,1)对应,同为一的取出来,其它位视为0,所以 0000 1001 + 0000 1001 = 0000 1001  *  2 = (0000 1001 & 0000 1001)* 2

第二部分:即(1,0)对应,将构成(1,0)的对应位取出来,其它位视为0,所以 0000 0100 + 0001 0010 = 0000 0100 ^ 0001 0010

第三部分:即(0,0)对应,都是0了,就不用计算了


所以 X + Y = (X & Y)* 2  +  (X ^ Y)

       (X + Y) / 2 = (X & Y) + (X ^ Y)  / 2 ----> (X & Y) + ((X ^ Y) >>1)

这样做有什么好处呢?,没了相加,不产生高位溢出

这篇文章按照十进制来讲,觉得特漂亮http://blog.csdn.net/cqnuztq/article/details/8682889

按位运算符的妙用:http://blog.sina.com.cn/s/blog_73428e9a0101exc2.html



http://www.ppmy.cn/news/825754.html

相关文章

求键盘输入十个数字的平均值

整体思路 先定义一个数组,用来存放这十个数字,然后利用循环语句从键盘输入要求和的十个数字。设置一个变量sum,开始时令sum0,然后利用sumsumarr[i]语句及循环结构求和,然后定义一个浮点型变量avg,令avgsum/10,最后输出avg。 代码…

chatgpt赋能python:Python中平均值符号怎么打出?

Python中平均值符号怎么打出? Python作为一种高级编程语言,可以轻松地完成各种各样的任务。那么在Python中,如何打出平均值符号呢?下面让我们一起来介绍一下。 什么是平均值符号? 平均值符号是数学符号的一种,用于…

平均的计算机符号,如何在Word中输入平均数的符号X上加一横(X拔)

word是一款非常实用的办公软件,我们经常会使用word进行文档编辑,我们在使用中不可避免会遇到编辑数学公式,例如在Word中输入平均数的符号X上加一横(X拔), 那应该怎么编辑呢?接下来就跟着小编一起来看看吧。 操作方法 01在电脑桌面…

matlab x的平均值符号怎么打出来,教你在Word中输入平均数的符号X上加一横(X拔)...

在我们常用的公式中平均数的基本都是用X的上面加一根横杠来表示,念作“X拔”。它十分常用,但是在我们用Word书写论文过程中,往往不知道如何在Word中输入这个符号,下面我就介绍一下Word中输入平均数的符号X上加一横(X拔)方法&#…

openjdk 1.7 aarch64 arm64版本下载

https://pkgs.org/search/?qopenjdk-7%20aarch64 可以直接在arm64 centos:7 docker镜像中直接安装 docker run -it centos:7 /bin/bash 系统版本、架构 [root8782940e2e86 ~]# cat /etc/os-release NAME"CentOS Linux" VERSION"7 (AltArch)" ID"…

十五、flex弹性元素的样式

目录&#xff1a; 1. 基本布局 2. 弹性元素的属性&#xff1a;flex-grow 3. 弹性元素的属性&#xff1a;flex-shrink 4. 弹性元素的属性&#xff1a;flex-basis 5. flex 统一设置这3个属性&#xff08;常用&#xff09; 6. order 一、基本布局 <style>*{margin: 0;paddin…

Mysql常见的集群方案

一&#xff0c;MySQL Replication MySQL Replication 是官方提供的主从同步方案&#xff0c;用于将一个 MySQL 的实例同步到另一个实例中。Replication 为保证数据安全做了重要的保证&#xff0c;是目前运用最广的 MySQL 容灾方案。Replication 用两个或以上的实例搭建了 MySQ…

【前端技巧】CSS常用知识碎片(三)

CSS常用知识碎片&#xff08;三&#xff09; 分栏布局 将子元素在内的所有内容拆分为列&#xff0c;主要针对图文排版布局&#xff0c;应用在横向排版场景中&#xff0c;文档流是倒N方向优点&#xff1a;不会改变元素原本的display计算值 <body><ul><li>重…