凡是存储、传输或处理数字信号的电路系统简称数字系统,例如PC机、单片机、手机等电子设备。在数字系统中一般以字节(1 Byte=8 bit)为基本信息单位,其具体表示的信息是由程序员定义的。
1.机器码
1)三种定点整数的定义
设机器字长n+1位,最高位是符号位,即正数的符号位为0,负数的符号位为1。
[X]原=X(0≤X<2n)/2n-X(-2n<X≤0)
[X]反=X(0≤X<2n)/2n+1-1+X(-2n<X≤0)
[X]补=X(0≤X<2n)/2n+1+X(-2n≤X<0,mod 2n+1)
2)操作
① 对于原码,不足n位的整数在符号位之后补0;
② 正数的原码、反码和补码相同;
③ 负数的反码为其原码的尾数(除符号位的部分)按位取反;负数的补码为其反码末位加1。
3)有关性质
① 补码加、减模其值不变;
② 0的补码是唯一的;
③ [ [X]补]补=[X]原,[ [X]反]反=[X]原;
④ n位定点整数的补码扩展为m+n位补码,只需将符号位向高m位扩展。
4)n位无符号数
在计算机中用于表示地址码。
5)机器码的值域
① n+1位原码与反码的值域:-(2n-1)~+(2n-1);(www.xing528.com)
② n+1位补码的值域:-2n~+(2n-1);
③ n位无符号数的值域:0~2n-1。
【例1.1.5】设机器字长为8位,求X=+57,Y=-57的三种机器码。
解:X=+57=+111001B Y=-57=-111001B
[X]原=00111001B(最高位为符号位) [Y]原=10111001B
[X]反=00111001B [Y]反=11000110B
[X]补=00111001B [X]补=11000111B
2.十进制数
十进制数的每一位由0~9十个数字组成,在数字系统中,1位十进制数要用4位二进制数表示,即用二进制数对十进制数进行编码,这样的代码简称BCD(Binary Coded Decimal)码。表1.1.1是几种常用的BCD码,其中8421BCD码是最常用的一种十进制编码。
表1.1.1 常用BCD码
4位二进制数共有16个代码,除了对十进制数字0~9的编码外,还有6个伪码,不同的BCD码伴有不同的伪码。在计算机中,若以BCD码对十进制数进行运算,一旦结果产生伪码就要对其进行修正处理。例如,当用8421BCD码表示的两个十进制数进行相加,若某位的和出现伪码(即大于9)或者该位向高位产生了进位,则该位的和还要加6进行修正;当用8421BCD码表示的两个十进制数进行相减,若某位向高位产生了借位,则该位的差还要减6进行修正。
3.字符
(1)西文(半角)字符的编码:ASCII码(7位)。存储在计算机中占1个字节,其标识位(即每个字节的最高位)为0。
(2)汉字(全角)字符的编码:国标码(双7位)。存储在计算机中占2个字节,其标识位(即每个字节的最高位)为1。
【例1.1.6】已知存储信息X=38H,Y=98H。求不同代码所对应的十进制真值。
解:X、Y的原码、反码、补码、无符号数、8421BCD码、ACSII码如下表所示。
【说明】在数字系统中任何信息都是用二进制代码表示的,所以在数字系统中信息是可以量化的。通常用b表示位信息,B表示字节信息。1 KB=210B,1 MB=220B,1 GB=230B,1 TB=240B。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。