Java温故篇之位移运算符<<,>>和>>>

如题,3种位移运算符可分为2以10和-10为例:

10原码、反码、补码:00000000 00000000 00000000 00001010

-10原码:10000000 00000000 00000000 00001010

     反码: 11111111 11111111 11111111 11110101

     补码: 11111111 11111111 11111111 11110110(计算机中以补码表示负数)

一、有符号位移<<,>>位移前后符号位不变

1.<<向左位移

10<<2原码左移2位为00000000 00000000 00000000 00101000,10进制为40

-10<<2,即-10的补码11111111 11111111 11111111 11110110左移2位,得到11111111 11111111 11111111 11011000,反码:11111111 11111111 11111111 11010111,原码:10000000 00000000 00000000 10101000,换算为10进制为-40。

2.>>向右位移

10>>2原码右移2位为00000000 00000000 00000000 00000010,10进制为2

-10>>2,-10的补码11111111 11111111 11111111 11110110右移2位,得到11111111 11111111 11111111 11111101,反码为11111111 11111111 11111111 11111100,原码:10000000 00000000 00000000 00000011,换算为10进制为-3

二、无符号位移>>>位移后不保留符号位,最高位补0

10>>>2yuan原码无符号右移2位,00000000 00000000 00000000 00000010,10进制为2

-10>>>2,-10的补码11111111 11111111 11111111 11110110无符号右移2位,得到 00111111 11111111 11111111 11111101,0开头为正数,换算为10进制为1073741821。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值