一、二进制数的表示
n:二进制数整数位数
m:二进制数小数位数
B:二进制数标记
如:10111B .1101B 1110.011B
二、十六进制数的表示
1、十六进制数的数码
0~9,A(a)、B(b)、C(c)、D(d)、E(e)、F(f)
2.十六进制数的表示
例:85A0H 4B0CH
三.数制转换
1.十进制→二进制
(1)整数转换
降幂法:二进制权重 … 128 64 32 16 8 4 2 1
241 1 1 1 1 0 0 0 1 B
255 1 1 1 1 1 1 1 1 B
除以2取余数,逆序排列得整数
∴ 215D=11010111B
(2)小数转换
不断乘以2,顺序排列取整数积
2.十进制→十六进制
(1)整数转换
除以16,逆序排列得整数
(2)小数部分
乘以16,顺序排列取整数积
3.二进制→十进制
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
所以,设有一个二进制数:0110 0100,转换为10进制为:
0110 0100 换算成 十进制
第0位 0 * 20 = 0
第1位 0 * 21 = 0
第2位 1 * 22 = 4
第3位 0 * 23 = 0
第4位 0 * 24 = 0
第5位 1 * 25 = 32
第6位 1 * 26 = 64
第7位 0 * 27 = 0 +
---------------------------
100
用横式计算为:
0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
0乘以多少都是0,所以我们也可以直接跳过值为0的位:
1 * 22 + 1 * 23 + 1 * 25 + 1 * 26 = 100
4.十六进制→十进制
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
假设有一个十六进数 2AF5, 那么如何换算成10进制呢?
2AF5换算成10进制:
第0位: 5 * 160 = 5
第1位: F * 161 = 240
第2位: A * 162 = 2560
第3位: 2 * 163 = 8192 +
-------------------------------------
10997
直接计算就是:
5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数 1234 为什么是 一千二百三十四?你尽可以给他这么一个算式:
1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
5.二进制→十六进制
(1)整数部分
从右向左,4位一组,不足一组前面补0,每组二进制数用一位十六进制数码表示。
110101101B= 0001,1010,1101B=1ABH
↓ ↓ ↓
1 A B
(2)小数部分
小数点开始,从左向右,4位一组,不足一组后面补0,每组二进制数用一位十六进制代码表示。
・110111B=・1101,1100B=・BCH
↓ ↓
B C
6.十六进制→二进制
每位十六进制数以4位二进制表示
6AB5H=0110 1010 1011 0101 B