计算机中的数及编码
1、机器数与真值
(1) 在计算机中数是用二进制来表示的
(高电平代表“1”,低电平代表“0”)
(2) 数的符号在计算机中也是用二进制数表示的。
“+”用“0”表示, “-”用“1”表示。
2、带符号数、无符号数
(1) 带符号数
用0表示正数,用1表示负数,这种表示数的方法,称为带符号数的表示方法,所表示的数称为带符号数。
(2) 无符号数
如果把全部有效位都用来表示数的大小,即没有符号位,这种方法表示的数,叫无符号数。
3、原码、反码及补码
(1) 原码
一个数的原码就是该数的机器数
例如:
X1 = +67 = +1000011B [X1]原 = 01000011B
X2 = -67 = -1000011B [X2]原 = 11000011B
在原码表示法中,数0的原码有两种形式:
[+0]原 = 00000000B [-0]原 = 10000000B
(2) 反码
正数的反码就等于它的原码;
负数的反码就是它的原码除符号位外,各位取反。
例如:
X1 = +67 = +1000011B [X1]反 = 01000011B
X2 = -67 = -1000011B [X2]反 = 10111100B
在反码表示法中,数0的原码也有两种形式:
[ +0 ]原 = 00000000B [ -0 ]原 = 11111111B
(3) 补码
正数的补码就等于它的原码;
负数的补码就是它的反码加1。
例如:
X1 = +67 = +1000011B [X1]补 = [X1]原 = 01000011B
X2 = -67 = -1000011B [X2]补 = [X2]反 + 1 = 10111101B
根据定义,0的补码仅有一种表现形式:
[ +0 ]补 = [ -0 ]补 = 00000000B
4、补码的运算
补码的运算就是计算机中数的运算。
(1) 补码的加法规则
[X + Y]补 = [X]补 + [Y]补
例 :
X=+011 0110 ,Y=-111 1001,求X+Y=?
[X]补= 0011 0110
+) [Y]补= 1000 0111
[X]补+ [Y]补 = 1011 1101
(2)补码的减法规则
[X - Y]补 = [X]补 + [-Y]补
例:
X=+101 0101 ,Y= + 110 0001,求X - Y=?
[-Y]原=1110 0001
[-Y]反=1001 1110
[-Y]补=1001 1111
[X]补 = 0101 0101
+) [- Y]补 = 1001 1111
[X]补 + [- Y]补 = 1111 0100
5、二进制编码
二进制编码是指用二进制代码来表示计算机中所要处理的数值、数字、字母和符号等,一般为若干位二进制数码的组合。
(1) 二进制编码的十进制数
二进制编码的十进制数 就是BCD码(Binary Coded Decimal)。
1️⃣ 压缩BCD码 用4位二进制数表示一位十进制数。一个字节表示两位十进制数。
2️⃣ 非压缩BCD码 用一个字节表示一位十进制数。高4位总是0。
(2) 字母和字符的编码
计算机不仅要处理数值问题,还要处理大量的非数值问题,这就必须引入文字、字母,某些专用的符号,这就是目前应用最广泛的字符编码系统ASCII码。(American Standard Code for Information Interchange,美国信息交换标准码)