问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

x>>=1;在C++里面是什么意思

发布网友 发布时间:2022-05-27 09:36

我来回答

3个回答

热心网友 时间:2023-10-14 18:09

>>是右移运算符。 <<是左移运算符
x >>= 1 等同于 x = x/2;
这是位运算, >>左移运算,<< 右移运算
x >> n 等同于 x / (2^n)
x << n 等同于 x * (2^n)
当然了,要注意类型所占内存的大小,以防溢出

二进制位移操作。当 x 为 1 时,1 转为二进制还是 1,向左位移变为 10,然后与 1 进行二进制或运算就是 11,二进制 11 其实就是十进制的 3。1 << 1 等于 00000001 << 1 等于 00000010 等于十进制 22 << 1 等于 00000010 << 1 等于 00000100 等于十进制 43 << 1 等于 00000011 << 1 等于 00000110 等于十进制 64 << 1 等于 00000100 << 1 等于 00001000 等于十进制 8也不难理解向左移动多位。如向左移 2 位 00001110 << 2。00001110------------00111000同样 C 语言中还有还有右移运算符 >>,表示按二进制位向右移动。而按位或运算符则是将两个数字的二进制值的每一位进行或运算。1 | 1 等于 00000001 | 1 等于 00000001 | 00000001 等于 00000001 十进制 12 | 1 等于 00000010 | 1 等于 00000010 | 00000001 等于 00000011 十进制 33 | 1 等于 00000011 | 1 等于 00000011 | 00000001 等于 00000011 十进制 34 | 1 等于 00000100 | 1 等于 00000100 | 00000001 等于 00000101 十进制 5或运算也就是二进制的每一位分别进行运算,如果两个都是 0 那么此位为 0,至少有一个数该位为 1,或运算结果就是 1。可以看得出来,任意数与自身进行或运算还是这个数。4 | 4 等于 00000100 | 00000100 等于 00000100 十进制 4。一个简单的按位或运算符示例:0100111000010111------------01011111上图表示的是 78 | 23 = 95。事实上你从十进制你看不出来有任何规律的,二进制与、或、异或运算也只有在二进制或者十六进制表示才能看出来一些规律。当然这个规律不是最重要的,重要的是在编程中这种方式的优越性就是使用每一位 0 或 1 表示一个值的状态,这样即使是一个 16 位整数就可以用来表示 16 中状态的任意组合。

热心网友 时间:2023-10-14 18:09

x >>= 1 等同于 x = x/2;
这是位运算, >>左移运算,<< 右移运算

x >> n 等同于 x / (2^n)
x << n 等同于 x * (2^n)

当然了,要注意类型所占内存的大小,以防溢出

热心网友 时间:2023-10-14 18:10

运算符重载,意思是x = x >>1

x>>1也就是x的二进制右移一位

类似的有x+=1,也就是x = x+1

都是运算符重载
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
一个人很有钱现在跟你说手头紧怎么回 一个人怎么总是手头很紧 左右手紧紧扣到一起,抓得很紧是什么心里? 上班路上摔伤是否构成工伤 阿里云盘TV版播放不了怎么办?第三方阿里云盘播放异常怎么解决? 阿里云盘怎么转到百度网盘 阿里云盘转移资源到百度网盘方法 类风湿性关节炎常见的临床表现有哪些 试用期不给签合同吗 发生车祸了对方全责怎么赔偿 6岁孩子背声律启蒙有用吗 iphone6s变慢了,换电池会有效吗 到底买6s还是6s plus,求大神给点意见,有财富值。 捡了个苹果6s吧友们我怎么换给他 6s Home键问题 问:&#xFFFC; 苹果6s比6好很多吗。差1300。买哪个呢。 iPhone6s贴吧,网易新闻,掉帧严重 iphone6s升级到9.35好用吗? php $str=0x31,这样定义一个16进制数据后,为什么strlen($str)返回2,为什么不能像C语言里面占一个byte 怎样在同一部手机上用两个微信!怎么才能下载另一个! 三点水加一个“眞”字念什么? c语言 想定义一个字符数组str,将str1、str2两个字符串连接存至str中并输出。这样打为什么运行不了的?? char str[30]; int i; &#47;* gets(str);&#47;&#47; str[30]=&#39;&#92;0&#39;; puts(str); *&#47; for(i=0;i&lt;30;i++) c语言,如何声明一字符串数组并赋值1~30?(用循环) 如何将若干字符串赋值给二位数组? &quot;珍&quot;字的王字旁换成三点水念什么?大神们帮帮忙 MFC 编辑通过,但是运行的时候出错debug assertion failed 求int十进制转换二进制的函数解释,此处的str[0]应该是符号位吧?str[32]才是“&#92;0”? vb 提取两个最小值 飘流幻境雷龙岛有哪些怪物 如何用简单的C语言实现带有括号的四则运算 a = str[i] - &#39;0&#39;什么意思啊 亲们啊 女生用苹果6splus还是6s?。之前用过plus觉得单手操作不方便*也不方便。有些后悔 C语言问题求解? javascript中确认密码的代码中str.value和RegExp(&quot;^&#92;&#92;w{8,31}$&quot;)都是什么意思 买6S还是Se主要上网打电话,听歌。不玩游戏不看电影。 假如字符串是&quot;123&quot; ,然后就转换成&quot;31 32 33&quot; 这样,再保存到一个数组中 ,用c编写怎么做 ,求帮助 《许仲平义不苟取》结合本文说说许衡的做法对你有什么启示 许仲平义不苟取文言文断句 怎么帮宝宝走出厌奶期 文言文 许仲平义不苟取标题中的义是什么意思 什么方法可让头发成长的速度加快??? 如何让头发生长的速度更快? 有法院的调解协议,如何申请强制执行 怎样在同一部手机上用两个微信!怎么才能下载另一个! 怎么可以用两个 感冒了能吃绿豆吗 感冒了可以喝绿豆汤吗?急需求解答? 绿豆,,红豆用红糖煲粥,感冒可以喝吗? shockshadow账号 可以共享吗 魔兽世界搬沙是怎么回事?