正
2的次方 | 结果 |
---|---|
2 0 2^0 20 | 1 |
2 1 2^1 21 | 2 |
2 2 2^2 22 | 4 |
2 3 2^3 23 | 8 |
2 4 2^4 24 | 16 |
2 5 2^5 25 | 32 |
2 6 2^6 26 | 64 |
2 7 2^7 27 | 128 |
2 8 2^8 28 | 256 |
2 9 2^9 29 | 512 |
2 10 2^{10} 210 | 1024 |
2 11 2^{11} 211 | 2048 |
2 12 2^{12} 212 | 4096 |
2 13 2^{13} 213 | 8192 |
2 14 2^{14} 214 | 16384 |
2 15 2^{15} 215 | 32768 |
2 16 2^{16} 216 | 65536 |
2 17 2^{17} 217 | 131072 |
2 18 2^{18} 218 | 262144 |
2 19 2^{19} 219 | 524288 |
2 20 2^{20} 220 | 1048576 |
负
2的次方 | 结果 |
---|---|
2 − 1 2^{-1} 2−1 | 0.5 |
2 − 2 2^{-2} 2−2 | 0.25 |
2 − 3 2^{-3} 2−3 | 0.125 |
2 − 4 2^{-4} 2−4 | 0.0625 |
2 − 5 2^{-5} 2−5 | 0.03125 |
2 − 6 2^{-6} 2−6 | 0.015625 |
2 − 7 2^{-7} 2−7 | 0.0078125 |
2 − 8 2^{-8} 2−8 | 0.00390625 |
基本数据类型
数据类型 | 位数 | 范围/精度 |
---|---|---|
char | 8(1B) | -128到127或0到255( − 2 7 → 2 7 − 1 -2^7 \to 2^7-1 −27→27−1) |
short | 16(2B) | -32768到32767 |
int | 32(4B) | -2147483648到2147483647 |
long | 32或64(4B或8B) | -2147483648到2147483647或-9223372036854775808到9223372036854775807 |
float | 32(4B) | 6位小数 |
double | 64(8B) | 15位小数 |
进制
2进制
逢2进一
代表符号:B
数字:0、1
8进制
逢8进一
代表符号:O
数字:0、1、2、3、4、5、6、7
十进制
逢10进一
代表符号:D
数字:0、1、2、3、4、5、6、7、8、9
十六进制
逢16进一
代表符号:H
数字:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
- A:10
- B:11
- C:12
- D:13
- E:14
- F:15
进制转换
16进制 -> 2进制
快速:
8421法,拆分顺序从右往左
8进制 -> 2进制
快速:
421法,拆分顺序从右往左
10进制 -> 2进制
快速:
2次幂相加法,拆分顺序从右往左,从0开始数,从2的最大次幂开始往下减
要求要对2的次方熟系
原、反、补码转换
原码:带符号的二进制,第一位为符号位,其他位为数值位,符号位为1是负数。只需要将任意进制转换为二进制即可。
如:188D
-> 10111100B
,那么原码即是1 0111100
,符号位为1
(负数),数值位为0111100
反码:正数与原码相同,负数将数值位取反
如:188D
-> 10111100B
,那么原码即是1 0111100
,符号位为1
(负数),数值位为0111100
,反码为1 1000011
补码:正数与原码相同,负数将数值位取反并加1
如:188D
-> 10111100B
,那么原码即是1 0111100
,符号位为1
(负数),数值位为0111100
,补码为1 1000011 + 1 = 1 1000100
(逢二进一)
移码:
- 在偏移量为128的情况下,移码为补码的符号位取反(常见)
- 移码=真值+偏移量