十/二/八/十六进制与计算机内存数值存储方式(原码/ 反码/补码)
进制
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
十进制 | 二进制 | 八进制 | 十六进制 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 (逢二进一) | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 (逢8进1) | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 (逢16进一位) |
进制单位术语
术语 | 含义 |
bit(比特/位)
| 一个二进制代表一位,一个位只能表示0或1两种状态。数据传输是习惯以“位”(bit)为单位。 |
Byte(字节)
| 一个字节为8个二进制,称为8位,计算机中存储的最小单位是字节。数据存储是习惯以“字节”(Byte)为单位。 1 Byte字节 = 8 b位 |
WORD(双字节) | 2个字节,16位 |
DWORD | 两个WORD,4个字节,32位 |
1b | 1bit,1位 |
1B | 1Byte,1字节=8位/bit |
1k,1K | 1k=1024 字节(二进制单位) |
1M(1兆) | 1024k, 1024*1024 |
1G | 1024M |
1T | 1024G |
1Kb(1千位/1 千比特)
| 1Kb=1024bit(1024 比特)(二进制)=1024位
|
1KB(1千字节) B 是大写,代表 Byte(字节),1 字节 = 8 比特。 | 1 KB =1024Byte=1024字节(二进制)
|
1Mb(兆位) | 1024Kb = 1024 * 1024bit |
1MB(兆字节) | 1024KB = 1024 * 1024Byte |
十进制
这是最符合人类习惯的写法
规则:
1.由数字 0-9 组成。
2.最常用,无前缀,非0开头。不能以 0 开头(除非数字本身就是 0)。如果以 0 开头,编译器会把它当成八进制。
3.可以是正数、负数或零。
二进制
C语言不能直接书写二进制数
八进制
以数字0开头,如0123
十六进制
以0x开头,如0x123
