整数进制的转换
文章目录
- 整数进制的转换
- 十六进制、八进制、二进制与十转换
- 1、C语言:
- 2、进制只是整数值的表现形式,好比人穿上了各种衣服
- 3、汇编语言:
- 正数进制转化(十--->二<---->十六)
- 十六进制的特性
十六进制、八进制、二进制与十转换
1、C语言:
十六进制:0x71ef ( 0-9,A(10),B(11),C(12),D(13),E(14),F(15) )
八进制:0127 (0-7)
十进制:100
2、进制只是整数值的表现形式,好比人穿上了各种衣服
值123: 可以表示为:123/0x7b/0173/01111011
3、汇编语言:
十六进制:1aH
八进制:17O
十进制:12D
二进制:110B
一个10进制整数a,转化成x进制的公式为:
a除以x取余,商继续除以x取余,直到商为0,所有余数逆序即为x进制数。
十六进制:
八进制:
二进制:
正数进制转化(十—>二<---->十六)
常规做法:整数和小数分别转换,整数除以2取余,小数乘以2整数。如:22.8125
整数除以2,商继续除以2,得到0为止,将余数逆序排列
22/2 11 余0
11/2 5 余 1
5/2 2 余 1
2/2 1 余0
1/2 0 余 1
所以22 的二进制是10110
小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分为0为止,将整数顺序排列
0.8125X2 = 1.625 取整1,小数部分是0.625
0.625X2 = 1.25 取整1,小数部分是0.25
0.25X2=0.5取整0,小数部分是0.5
0.5X2=1.0取整1,小数部分是0 结束
所以0.8125的二进制是0.1101
十进制22.8125等于二进制10110.1101
正整数十进制转二进制47
表格法:512 128 64 32 16 8 4 2 1
正浮点数十进制转二进制-22.8125
表格法:32 16 84 2 1 0.5 0.25 0.125 0.0625 0.03125 0.015625
二进制转十六进制
四位变一位
十六进制转二进制
一位变四位(十六进制中,2位为1个字节)
整数:1个字节,2个字节,4个字节,8个字节
浮点数:4个字节或者8个字节
二进制 | 十进制 | 十六进制 |
0000 | 0 | 0 |
0001 | 1 | 1 |
0010 | 2 | 2 |
0011 | 3 | 3 |
0100 | 4 | 4 |
0101 | 5 | 5 |
0110 | 6 | 6 |
0111 | 7 | 7 |
1000 | 8 | 8 |
1001 | 9 | 9 |
1010 | 10 | A |
1011 | 11 | B |
1100 | 12 | C |
1101 | 13 | D |
1110 | 14 | E |
1111 | 15 | F |
十六进制的特性
根据十六进制转化为二进制的方法,可以得出:在十六进制中,1个数字占4位,2个数字位为1个字节
十六进制表示数的好处是:可以直接观察这个数在内存中每个字节的内容
0x12345678
ox12 34 56 78