1.4.4计算机中数据的表示方法
1.什么是数据
数据是指能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字、字符和模拟量等的通称。
常用的数据单位有:位(bit)、字节(Byte)、字(word).换算关系:1B=8b,1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB
3.数据的表示方法
前面讲的二进制没有谈到符号,这种数据称为无符号数,除此以外,还有有符号数,通常用“+”、“-”来表示。但在计算机中只有“1”,“0”两个数字,一般规定用“0”表示正数,用“1”表示负数。
例如:(01011)2=(+11)10
(11011)2=(-11)10
计算机符号数表示有三种:原码、补码和反码。
1.4.4计算机中数据的表示方法
(1)原码表示法:
一个正数的原码最高位(符号位)为0,其它位与二进制数的原来表示一样;一个负数的原码是这个数所对应的正数的原码的符号为置1,其它位不变。例如:
X=108,则 [X]原 =0 1101100B
X=-108,则 [X]原 =1 1101100B
0的原码有两种表示:[+0]原 =0 0000000B;[-0]原 =1 0000000B。
缺点:原码不能直接参加计算,可能会在运算中出错。
利用原码来表示数在运算时,首先要判断该数是正数还是负数,再决定所进行的运算是加法还是减法,为计算过程带来麻烦,所以这种数据在进行运算时,通常是采用反码来进行。
1.4.4计算机中数据的表示方法
(2)反码表示法:
正数的反码和其原码完全一样;负数的反码是其所对应的原码,除符号位外,按位取反(即:0变1,1变0)。例如:
[+8]原 =0 0001000B [+8]反 =0 0001000B
[-8]原 =1 0001000B [-8]反 =1 1110111B
负数的反码还可以由绝对值相同的正数,连同符号位在内全部按位取反求得。
0的反码有两种表示:[+0]反 =0 0000000B;[-0]反 =1 1111111
第三讲1.4.5计算机中的编码
计算机只能识别1和0,因此在计算机内表示的数字、字母和符号等都要以二进制数码的组合来代表,这就是二进制编码。根据不同的用途,有各种各样的编码方案,较常用的有ASCII码、EBCDIC码和汉字编码等。
1.ASCII码
ASCII码(American Standard Code For Information Interchange)即美国标准信息交换码,在计算机界,尤其是在微型计算机中得到了广泛使用。这一编码最初是由美国制订的,后来由国际标准组织(ISO)确定为国际标准字符编码。为了和国际标准兼容,我国根据它制定了国家标准,即GB1988。其中除了将货币符号转换为人民币符号外,其他相同。
1.4.5计算机中的编码
ASCII码采用七位二进制位编码,共可表示27=128个字符。其中包括数码(0-9),大小写英文字母(A-Z、a-z),标点符号和运算符号等。
计算机中常以8位二进制,即以一个字节为单位表示信息,因此将ASCII码的最高位取0。
当ASCII码的最高位取1时,又可表示128个字符,这种编码称为扩展ASCII码,主要是一些制表符。
ASCII码(American Standard Code for Information Interchange)
常用字符有128个,编码从0到127
空格 20H 32
‘0’~‘9’ ~ 30H~39H 48~57
‘A’~‘Z’ ~ 41H~5AH 65~90
‘a’~‘z’ ~ 61H~7AH 97~122
控制字符:0~32、127,共34个;
普通字符(可打印字符):94个。
每个字符占一个字节,即8 位二进制位,最高位恒为0。
1.4.5计算机中的编码
2.二至十进制编码(BCD码)
由于人们日常使用的是十进制,而机器内使用的是二进制,所以需要把十进制数表示成二进制码。
一位十进制数字,用4位二进制编码来表示可以有多种方法,但常用的是BCD码。四位二进制数表示24即16种状态。只取前10种状态来表示0~9,从左到右每位二进制数的权分别为8,4,2,1,因此又叫8421码。
BCD码有十个不同的码,0000、0001、0010、0011、0100、0101、0110、0111、1000、1001,且它是逢“十”进位的,所以是十进制数。但它