二进制
十进制 | 1 | 2 | 4 | 8 | 16 | 32 |
---|---|---|---|---|---|---|
二进制 | 1 | 10 | 100 | 1000 | 10000 | 100000 |
图1
图1是做进制运算时候,方便计算的一个口诀
例如:计算5的进制值 101
5=4+1,根据上图,4的二进制是100,1的二进制是1,然后相加100+1 = 101
计算54的进制值 110110
54=32+16+4+2,根据上图推导出二进制相加100000+10000+100+10=110110
二进制在线转换验证
原码,补码,反码
- 原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号,第一位数 0是正数,1是负数,其余位表示值
正数 8位二进制 9原码
0000 1001
负数 8位二进制 -9原码
1000 1001
- 反码:正数的反码是本身,负数的反码是原码的基础上,符号位不变,也就是说第一位数(表示符号位的数)不变,其余在原码的基础上取反
正数 8位二进制9反码
0000 1001 --反码--> 0000 1001
负数 8位二进制-9反码
1000 1001 --反码--> 1111 0110
- 补码:正数补码就是其本身,负数补码在其原有的基础上,符号不变,也就是说第一位数(表示符号位的数)不变,取反+1
- 在Java中,所有数据的表示方式都是以补码形式来表示
正数 8位二进制9补码
0000 1001 --反码--> 0000 1001 --补码--> 0000 1001
负数 8位二进制-9补码
1000 1001 --反码--> 1111 0110 --补码--> 1111 0111
运算符
符号 | 作用 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
++ | 自增 |
-- | 自减 |
&& | 与 |
|| | 或 |
^ | 异或 |
& | |
| | |
! | 非 |
符号 | 作用 |
& | |
| | |
~ | |
^ | |
>> | 左位移 |
>>> | 左位移 |
<< | 右位移 |