关于右移运算符>> 各位高手,我在一本书上看的关于右移运算符>>对最高位(最左边)的操作是:最高位则移入原来高位的值.并举例如a=11010011, 则 a>>2=11110100.而另一本书上说,最高位应补零,既a>>2=00110100,我认为后者对.请各位于以指正. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 >>是有符号的移位符,它移过来的时候,是把高位的符号位也一起移过来的而JAVA特有的>>>是无符号的移位符,它就是只把高位填0的一定要区分清楚 是否可这样理解,既有符号位的右移,只要最高位是1,则无论右移几位均左补1.如:若a=10000011,则 a>>2=11100000. 右移有两种:右移运算符>>(有符号)用来将一个数的各二进制位全部右移若干位.例如:a = a>>2,使a的各二进制位右移两位,移到右端的低位被舍弃,最高位则移入原来高位的值.如:a = 00110111,则a>>2=00001101,b=11010011,则b>>2 = 11110100右移一位相当于除2 取商,而且用右移实现除法比除法运算速度要快无符号右移运算符>>>用来将一个数的各二进制位无符号右移若干位,与运算符>>相同,移出的低位被舍弃,但不同的是最高位补0,如a = 00110111,则a>>>2 = 00001101,b=11010011,则b>>>2 = 00110100所以,,你上面第一种是右移,第二种是无符号右移 oscar_java(oscar) ( )的解释很好!支持!!不过感觉是从书上抄的!我好面熟! oscar_java(oscar) 讲得非常明白 如何把一个获得的整数变成负数~ 小程序未初始化 把文件读到缓冲区后,处理问题! ssh基础问题 JList 获取某值所在项的序列号 怎么样控制只打开一个窗口实例? 各位大侠:怎样移动JTree中的节点? 高分求助:Jbuilder6与Weblogic6.1的整合 有关重载与过载之间关系的问题 请问jbuilder5哪里可以下栽正式版本? 网线断开判断 Vector 排序问题
而JAVA特有的>>>是无符号的移位符,它就是只把高位填0的
一定要区分清楚
若a=10000011,则 a>>2=11100000.
用来将一个数的各二进制位全部右移若干位.例如:a = a>>2,使a的各二进制位右移两位,移到右端的低位被舍弃,最高位则移入原来高位的值.
如:a = 00110111,则a>>2=00001101,b=11010011,则b>>2 = 11110100
右移一位相当于除2 取商,而且用右移实现除法比除法运算速度要快无符号右移运算符>>>
用来将一个数的各二进制位无符号右移若干位,与运算符>>相同,移出的低位被舍弃,但不同的是最高位补0,如a = 00110111,则a>>>2 = 00001101,b=11010011,则b>>>2 = 00110100所以,,你上面第一种是右移,第二种是无符号右移