2024年java核心技术卷1 基础知识 pdf

java核心技术卷1 基础知识 pdf对于正数而言 原码 反码 补码是相同的 对于负数 原码 反码 为首位表示正负的 1 不变 剩下的 0 和 1 互换 补码 为反码加 1 左移 lt lt 左移的快速计算方式就是乘以 2 的 n 次方 比如说左移两位就是乘以 2 的 2 次方 就拿 2 来举例 0000 0010 左移两位变成 0000 1000 变成了 2 乘以 2 的 2 次方 结果为 8 对于负数左移也是一样的快速计算方式

大家好,我是讯享网,很高兴认识大家。



①对于正数而言,原码、反码、补码是相同的

②对于负数,原码,反码(为首位表示正负的1不变,剩下的0和1互换),补码(为反码加1)

左移<<

左移的快速计算方式就是乘以2的n次方,比如说左移两位就是乘以2的2次方。

就拿2来举例:

0000 0010 左移两位变成0000 1000变成了2乘以2的2次方,结果为8

对于负数左移也是一样的快速计算方式,比如-2左移两位变成-2*(2^2)=-8

右移>>

与左移相反,右移的快速计算方式就是除以2的n次方,如果除不尽就向下取整。

比如-9右移两位 等于-9/(2^2)=-3【向下取整为-3】

-9的原码为:1000 0000 0000 0000 0000 0000 0000 1001

反码为:1111 1111 1111 1111 1111 1111 1111 0110

补码为:1111 1111 1111 1111 1111 1111 1111 0111

右移两位为:11(补1) 1111 1111 1111 1111 1111 1111 1111 01

根据补码算反码:

11(补1) 1111 1111 1111 1111 1111 1111 1111 00

根据反码算原码:为-3

1000 0000 0000 0000 0000 0000 0000 0011

无符号右移>>>

运算规则:往右移动后,左边空出来的位置直接补0,不管最高位是0还是空出来的都拿0补。

正数:和右移一样

9>>>2 为2

负数:右移出去几位,左边补几个0,结果变成正数。

-9>>>2 为

例子:8>>>32 相当于没有移动还是8

8>>>34相当于移动两位

按位与:&

1&1 为1

1&0 为0

0&1 为0

0&0 为0

5&3 为1 5(0101)&3(0011) 为0001

按位或: |

运算规则:对应为只要有1即为1,相当于符号前后只要有一个为true,结果就是true

1 | 1 为1

1 | 0 为1

0 | 1 为1

java核心技术卷1 基础知识 pdf

0 | 0 为0

5 | 3 为7

按位异或:^

运算规则:对应位一样的为0,不一样的为1

1^1 为0

1^0 为1

0^1 为1

0^0 为0

5^3 为6

按位取反~

运算规则:~0就是1 ~1就是0

~10 结果为-11 符号位位0,取反后就为1 ,所以符号就变成了负号

10的补码(由于10是正数,原码,补码,反码一样):0000 0000 0000 0000 0000 0000 0000 1010

按位取反:1111 1111 1111 1111 1111 1111 1111 0101 换成反码

1111 1111 1111 1111 1111 1111 1111 0100 换成原码

小讯
上一篇 2024-12-27 17:12
下一篇 2024-12-25 08:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/2718.html