数制及其的互相转换
什么是数制
数制:由低位向高位进位计数的方法,“逢几进1”即为几进制数
例:十进制,即为逢10 进1,以此类推:二进制即为逢2进1,八进制即为逢8进1,十六进制即为逢16进1。详情如下:
- 二进制:包含0、1,共2个符号
- 八进制:包含0、1、2、3、4、5、6、7,共8个符号
- 十进制:包含0、1、2、3、4、5、6、7、8、9,共10个符号
- 十六进制:包含0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其中A~F代表10~15,共16个符号
数制型数据的表示
- 二进制数:11011B或(11011)2
- 八进制数:1360或136Q或(136)8
- 十进制数:368D或368或(368)10
- 十六进制数:4A31H或(4A31H)16
什么是基数、位权
基数:数制允许使用的基本数字符号的个数。
例:二进制的基数为2,八进制的基数为8,十进制的基数为10,十六进制的基数为16。
位权:数制中每一固定位置对应的单位值称为位权。
例:十进制数35961.02也可表达为:
30000+5000+900+60+1+0+0.02,即
3*104+5*103+9*102+6*101+1*100+0*10-1+2*10-2。
小数点向左第一位1位权为0,其余依次是1,2,3,4。
小数点向右第一位0位权为-1,2位权为-2。
位权是多少,基数的幂就是多少,例:
数字 | 3 | 5 | 9 | 6 | 1 | 0 | 2 |
---|---|---|---|---|---|---|---|
位权 | 104 | 103 | 102 | 101 | 100 | 10-1 | 10-2 |
二进制、八进制、十六进制如何转换为十进制
按权展开即可
例:将(3A.C)16转换为十进制。
解:(3A.C)16=(3*161+10*160+12*16-1)10=(48+10+0.75)10=(58.75)10
十进制如何转换为二进制、八进制、十六进制
整数部分与小数部分需要分别转换。
整数部分转换:除基取余,从下到上,直到商为0,
小数部分转换:乘基取整,上左下右,直到小数部分为0或保持所需精度
例1:将135D转换为八进制和二进制数
解:
得:(135)10=(207)8=(10000111)2
例2:将十进制小数0.6875转换为二进制。
解:
乘基 | 取整 |
---|---|
0.6875*2=1.375 | 整数=1 |
0.375*2=0.75 | 整数=0 |
0.75*2=1.5 | 整数=1 |
0.5*2=1.0 | 整数=1 |
小数已经为0不可以再乘
得:(0.6875)10=(0.1011)2
二进制、八进制、十六进制之间互相转换
-
二进制转八进制
将二进制数由小数点开始,整数部分向左,小数部分向右,每3位一组,不够3位补0,每组二进制按权展开转为1个八进制
例:1101010.01转为八进制
解:小数点开始左右补零,001 101 010 . 010 ,001=1,101=5,010=2,
得:(1101010.01)2=(152.2)8 -
八进制转二进制
将每位八进制数转为二进制
例:(67)8转为二进制
解:6=110,7=111
得:(67)8=(110111)2 -
二进制转十六进制
将二进制数由小数点开始,整数部分向左,小数部分向右,每4位一组,不够4位补0,每组二进制按权展开相加转为1个十六进制
-
十六进制转二进制
将每位十六进制数转为二进制
-
八进制转十六进制
将八进制转为二进制,再做转换十六进制
-
十六进制转八进制
将十六进制转为二进制,再做转换八进制