ITPub博客

首页 > IT职业 > IT职场 > 位移详解

位移详解

IT职场 作者:cdfoxman 时间:2021-09-09 10:12:26 0 删除 编辑

位移运算符:<<、>>、>>>

(1) (int) 144 << 3

  • int:4个字节(一个字节8位),so:32位

  • <<左移运算符

  • 144的二进制左移3位,前面(高位)去000(3个0),后面(低位)补000(3个0)。低位补0
    10010000    ->    10010000000
    结果:1152

注意点:
如果移动的位数超过了该类型的最大位数,编译器会对移动的位数取模移动。如果是int类型移动35位,实际只移动了35%32=3位。

(2) (int)144 >> 3


  1. ">>"  右移运算符


  1. 144的二进制右移3位,后面(低位)去000(3个0),前面(高位)补000(3个0)。高位补0

10010000    ->    10010
结果:18

  • 另一种理解:

    • 相当于num除以2的n次方

    • 相当于num乘以2的n次方

    • 左移运算符:num << n

    • 左移运算符:num >> n

(3) (int)144 >>> 3



作者:Jason_Coding
链接:https://www.jianshu.com/p/3b109b29ab8f


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/625/viewspace-2818179/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-12

  • 博文量
    237
  • 访问量
    1740