第一章数制转换与编码
一,数制转换
1.二进制与十进制之间的转换
1.1 二进制转十进制
二进制数的每一位都有权重,从右开始2^0,依次向左为2^1 ,2^2 ,2^3 ....然后将二进制每一位与权重相乘再相加
1.2. 十进制整数转二进制
记住一般常见的权重值,再与十进制比较,到接近的值,从而确定二进制的位数,然后依次补充二进制位数上的值,即0或1
例如:45_{(10)} =101101_{(2)}
1.3. 十进制小数转二进制
记住一般常见二进制的权重值,再与十进制小数比较,到接近的值,从而确定二进制的位数,然后依次补充二进制位数上的值,即0或1
例如:0.3125_{(10)} =.0101_{(2)}
2.十进制与十六进制之间的转换
对于二进制而言,满2进一,当然十六进制满16进一
2.1. 十进制转十六进制
记住一般常见十六进制的权重值,再与十进制比较,到接近的值,从而确定二进制的位数,然后依次补充二进制位数上的值。 例如:234_{(10)} =EA_{(16)}
2.2. 十六进制转十进制
十六进制数的每一位都有权重,从右开始16^0,依次向左为16^1 ,16^2 ,16^3 ....然后将十六进制每一位与权重相乘再相加
3.十进制与八进制之间的转换
八进制是满八进一,数字只有0,1,2,3,4,5,6,7
3.1. 十进制转八进制
记住一般常见八进制的权重值,再与十进制比较,到接近的值,从而确定八进制的位数,然后依次补充八进制位数上的值。
3.2. 八进制转十进制
八进制数的每一位都有权重,从右开始8^0,依次向左为8^1 ,8^2 ,8^3 ....然后将八进制每一位与权重相乘再相加
二,二进制之间的算术运算
1.加减法运算
加法每位运算法则1+1=10,1+0=1, 0+1=1,0+0=0
减法每位运算法则1-1=0,1-0=1, 10-1=1,0-0=0
例如:1100_{(2)} +1010_{(2)} =10110_{(2)}
1100_{(2)} -1010_{(2)} =0010_{(2)}
2.乘法运算
乘法运算的实质是:被乘数按照乘数中1的位置左移形成部分积后相加实现,乘数的最低位的位置为0,移出的空位补0
最简单的,一个二进制乘以一个2的整数幂,则可以理解为,将该二进制数左移幂次实现。
如果乘的不是一个2的整数幂,那么将乘数分为若干个整数幂的和,如下:
3.除法运算
最简单的,一个二进制除以一个2的整数幂,则可以理解为,将该二进制数右移幂次实现,移出的空位补0.
例如:10010_{(2)} \div 2^3=00010_{(2)}
三.反码,补码,有符号数及其运算
1.反码
反码是将二进制中的1变为0,0变为1.
原码与反码相加等于全1二进制数,位数与原码相同
如:0101001_{(2)} +1010110_{(2)} =1111111_{(2)}
例如:010110_{(2)}的补码为 101001_{(2)}
2. 2的补码
反码加1称为2的补码
原码与补码相加等于2^n ,n为原码的位数
例如:1010_{(2)} 的反码是0101_{(2)} ,然后反码加1就是补码: 0101_{(2)}+1=0110_{(2)}
原码+补码:1010_{(2)} +0110_{(2)} =10000_{(2)}=2^4_{(10)}
在减法运算中,减一个数常用加一个数的补码代替
3.有符号数
有符号数可以表示为:符号+数值。一个二进制数的最高位在有符号数中是符号位,通常用0表示正数,1表示负数。
例如:+25的8位有符号二进制数为00011001. -25的8位有符号二进制数为10011001负数二进制补码运算法则
在有符号数系统中,正数的补码是该数本身,而负数的补码为该数取反码加一
4.有符号算术运算
4.1. 两数相加
4.1.1 两数均为正数
直接运算即可
4.1.2 正数大于负数
丢掉进位,和为正二进制
4.1.3 正数小于负数
和为负数,和为2的补码
4.1.4 两个均为负数
丢掉进位,和为2的补码
4.2. 两数相减
运算步骤:将减数取补码,然后被减数于减数相加,再丢掉进位。
四. 编码
1. 8421码(BCD码)
用4位二进制表示1位十进制数,只有10个
例如:将23表示为BCD码:00100011
2. 余三码
也是一种用4为二进制表示1位十进制的编码,是由8421码加3形成的一种编码。
3. 格雷码(循环码)
两位格雷码:00,01,11,10
三位格雷码:000,001,011,010,110,111,101,100
四位格雷码:0000,0001,0011,0010,0110,0111,0101,0100
1100,1101,1111,1110,1010,1011,1001,1000
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论