数的本质:计数。
数制间的区别:只有形式上的区别,本质都是为了计数。
算术运算符本质:
“+” :M个1的累加,和N个1的累加,求和。 (M + N)
“ -” :从M个1的累加中,去掉N个1。 (M - N)
“*” :N份M个1的累加,求和。 (M * N)
“/” :将M个1的累加分成N份,取其中一份,可能有余数。(M / N)
计数制:用不同的代码,来表示任意数的方式。
权:是一种位置系数。
十进制数: (1)代码个数(基数):10个,分别是0~9。
(2)进位规则:逢10进一。
(3)权:以10为底的幂。
(4)任一位数的大小,等于该位数码乘以权值。
二进制数: (1)代码个数(基数):2个,分别是0和1。
(2)进位规则:逢2进一。
(3)权:以2为底的幂。
(4)任一位数的大小,等于该位数码乘以权值。
(5)从个位开始,向左2倍2倍的增长,向右2倍2倍的减少
十六进制数: (1)代码个数(基数):16个,分别是0~9和A~F。
(2)进位规则:逢16进一。
(3)权:以16为底的幂。
(4)任一位数的大小,等于该位数码乘以权值。
(5)从个位开始,向左16倍16倍的增加,向右16倍16倍的减少
数制间转换:
例子:
B->D
(10110.011)B= 1*2^4+1*2^2+1*2^1+1*2^-2+1*2^-3=22.375
H->D
(64.C)H= 6*16^1+6*16^0+C*16^-1=96+4+0.75
D->B
(112.25)D
112/2 = 56。。。余数0 -> (低位)
28/2 = 14。。。余数0
14/2 = 7 。。。余数0
7/2 = 3 。。。余数1
3/2 = 1 。。。余数1
1/2 = 0 。。。余数1
0.25*2=0.5 。。。整数=0(高位)
0.5*2=1.0 。。。整数=1
(112.25)D=(111.000.01)B
D->H(和D->B方法类似)
B->H
(0011 1101 1110.1011 1000)B=(3DE.B8)H
BCD码:用二进制表示的十进制数。(4位一组,用4位二进制数表示一位十进制数)
运算规则 :组内运算规则为二进制,组间进位规则为逢10进一。
存储规则 :以一字节为最小单位。
压缩BCD码 :一个字节存储2个BCD码。
非压缩BDC码 :一个字节存储1个BCD码。