A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© liuch111 高级黑马   /  2015-7-11 17:30  /  516 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么时候用>>> 移位符

9 个回复

倒序浏览
>>带符号右移和>>>不带符号右移,带符号位的右移,高位补符号位,也就是正数补0,负数补1,不带符号位的补0
回复 使用道具 举报
右移有两种:   
      右移运算符>>(有符号)   
  用来将一个数的各二进制位全部右移若干位.例如: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
回复 使用道具 举报
1、当移位的数是正数的时候,>> 和>>>效果都是一样的;
2、当移位的数是负数的时候,>>将二进制高位用1补上,而>>>将二进制高位用0补上,这就导致了>>>将负数的移位操作结果变成了正数(因为高位用0补上了)。
回复 使用道具 举报
无符号右移运算符>>>    ,   右移运算符>>(有符号)
回复 使用道具 举报
学习了。。。真忘了
回复 使用道具 举报
>> 什么时候都能用除了右移没任何影响      >>>除了右移之外还去除了负(—)号    移完都成为正
回复 使用道具 举报
受教了,原来如此
回复 使用道具 举报
>>带符号右移>>>不带符号右移
回复 使用道具 举报
>>>到底有什么优势啊,正数左移都一样,唯一的就是负数了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马