【Java】Java基础汇总

1.原码、反码、补码

我们都知道byte字节的大小范围是 -128 - 127,那为什么是这样的呢?
计算机存储数据底层都是通过二进制来存储的,而byte字节有8位二进制,如下图:
在这里插入图片描述
对于正数而言,原码、反码、补码三码合一,都是同一个
但对于负数而言,原码就是原码,反码是原码除了符号位其余取反的结果,而补码是反码基础上减一

2.位运算符

<< : 左移,效果:转换成二进制,左移多少位,就乘多少个2。示例: 20 << 2 = 20 * 2 * 2 = 80
>> : 有符号右移,效果:转换成二进制,右移多少位,就除多少个2,除不尽舍去。示例: 21 >> 2 = 21 / 2 / 2 = 5
>>> : 带符号右移,效果:转换成二进制,右移多少位,就除多少个2,除不尽舍去。示例: 21 >> 2 = 21 / 2 / 2 = 5
| : 或运算,效果:转换成二进制,两个数都为0则为0,否则为1
& : 与运算,效果:转换成二进制,两个数都为1则为1,否则为0
~ : 非运算,效果:转换成二进制,所有位都取反(包括符号位)
^ : 异或运算,效果:转换成二进制,相同则0,不同则1
发布了91 篇原创文章 · 获赞 342 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/qq_43733123/article/details/105155923
今日推荐