计算机存储单位、二进制与八进制及十六进制互相转换的梳理
1b: bit (比特:位) = 1个二进制位
1B: byte (字节) = 8b (小写b与大写B区别)
1KB: (大写K为计算机计数单位) = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB …
注: 小写k代表日常中的 1000
任意进制转10进制:
8 进制1023 = 1 * 8^3 + 0 * 8^2 + 2 * 8^1 + 3 * 8^0
16进制1023 = 1 * 16^3 + 0 * 16^2 + 2 * 16^1 + 3 * 16^0
n 进制1023 = 1 * n^3 + 0 * n^2 + 2 * n^1 + 3 * n^0
在 8进制1023中,从右到左,第一位从0开始则:
1: 对应3,则 1 * 进制数8的3次方
0: 对应2,则 0 * 进制数8的2次方
2: 对应1,则 2 * 进制数8的1次方
3: 对应0,则 3 * 进制数8的0次方
八进制转二进制: 每一位八进制转成三位二进制,不够的左边补零
例 8进制1023:
1:001
0:000
2:010
3:011
则 1023 = 001000010011 (拼接之后最左侧0可去掉)
十进制转二进制:依次除以2,余数作为二进制数右边一位数字,商继续除2,直到商为0
例 10进制102:
102/2 = 51 余 0
51/2 = 25 余 1
25/2 = 12 余 1
12/2 = 6 余 0
6/2 = 3 余 0
3/2 = 1 余 1
1/2 = 0 余 1
则 102 = 1100110 (从最下面的余数开始往上连起来)
十六进制转二进制:每一位十六进制转成四位二进制,不够的左边补零
例 16进制1023:
1:0001
0:0000
2:0010
3:0011
则 1023 = 0001000000100011 (拼接之后最左侧0可去掉)