C语言中的进制表现形式有三种:十进制、八进制、十六进制。 C语言不能直接书写二进制数
一、二进制<=>十进制:
1、十进制转成二进制:
除二反序取余法(除到商为0),如:
2、十进制转成二进制:
按位乘权相加:将二进制数依次从末尾开始乘2的n次幂,n从0开始。如:
二、十进制<=> 八进制:
1、十进制转成八进制:
除八反序取余法:
2、八进制转成十进制:
按位乘权相加:
三、 十进制<=> 十六进制:
注意:十六进制中10~15用a~f表示
1、十进制转成十六进制:
除十六反序取余法:
2、十六进制转成十进制:
按位乘权相加:
四、二进制 八进制 十六进制 转换:
十进制 | 二进制 | 八进制 | 十六进制 |
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 |
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 |
1、二进制--->八进制:
三位压成一位(从后向前,前面不足三位补0),如:
2、八进制--->二进制:
一位展成三位: (结果中最前面的0可以省略,中间的不能省),如:
3、二进制--->十六进制:
四位压成一位:如:
4、十六进制--->二进制:
一位展成四位:如:
五、十进制小数转化为二进制:
小数部分和2相乘,取整数,不足1取0,每次相乘的都是小数部分,正序看取整后的数就是转化后的结果。如:
六、进制术语:
术语 | 含义 |
---|---|
bit(比特) | 一个二进制代表一位,一个位只能表示0或1两种状态。数据传输是习惯以“位”(bit)为单位。 |
Byte(字节) | 一个字节为8个二进制,称为8位,计算机中存储的最小单位是字节,数据存储习惯以字节为单位。 |