一、计算机的运行基础:二进制
1、计算机中采用二进制是由计算机电路所使用的元器件性质决定的。计算机中采用了具有两个稳态的二值电路,二值电路只能表示两个数码:0和1,用低电位表示数码"0",高电位表示数码"1"。
2、在计算机中采用二进制,具有运算简单、电路实现方便、成本低廉等优点。
二、 进位计数制
进位计数制:是人们利用符号来计数的方法。一种进位计数制包含一组数码符号和两个基本因素。
(1)数码:用不同的数字符号来表示一种数制的数值,这些数字符号称为"数码"。
(2)基:数制所使用的数码个数称为"基"。
(3)权:某数制每一位所具有的值称为"权"。
1、常用进位计数制
(1)十进制
数码:0、1、…… 8、9
基数:10
位权: 10i (i=……-2,-1,0,1,2,……)
逢10进1
(2)二进制
数码:0、1
基数:2
位权: 2i (i=……-2,-1,0,1,2,……)
逢2 进1
(3)八进制
数码:0、1、…… 6、7
基数:8
位权: 8i (i=……-2,-1,0,1,2,……)
逢8进1
(4)十六进制
数码:0、1、…… 8、9、A、B、C、D、E、F
基数:16
位权: 16i (i=……-2,-1,0,1,2,……)
逢16进1
2、书写格式:
二进制:10110.011(2) 或(10110.011)2 或10110.011B
八进制:375.4(8) 或(375.4)8 或 375.4Q
十进制:36.82(10)或(36.82)10 或36.82D 或 36.82
十六进制:DA01(16)或(DA01)16或 DA01H
三、 进制之间的转换
1、二进制数、八进制数、十六进制数转换为十进制数:用按权展开法
把一个任意R进制数 an an-1 ...a1a0 . a-1 a-2...a-m 转换成十进制数,其十进制数值为每一位数字与其位权之积的和。
an×R n + an-1×R n-1 +…+ a1×R 1 + a0×R 0 + a-1 ×R-1+ a-2×R-2+ …+ a-m×R-m
2、十进制转化成 R 进制
整数部分:除以 R取余数,直到商为0,得到的余数即为二进数各位的数码,余数从右到左排列。
小数部分:乘以 R取整数,得到的整数即为二进数各位的数码,整数从左到右排列。
3、八进制和十六进制转化成二进制
每一位八进制数对应二进制的三位,逐位展开。
每一位十六进制数对应二进制的四位,逐位展开。
4、二进制转化成八进制和十六进制
转化成八进制:将二进制数从小数点开始分别向左(对二进制整数)或向右(对二进制小数)每三位组成一组,不足三位补零。
转化成十六进制:将二进制数从小数点开始分别向左(对二进制整数)或向右(对二进制小数)每四位组成一组,不足四位补零。
四、 二进制数的运算
1、算术运算
加法: 0+0=0 0+1=1+0=1 1+1=0(有进位)
减法: 0-0=1-1=0 1-0=1 0-1=1(向高位借位)
乘法: 0×0=1×0=0×1=0 1×1=1
除法: 0÷1=0 1÷1=1
2、逻辑运算
或∨: 0∨0=0 0∨1= 1∨0=1∨1=1
与∧: 0∧0=0∧1=1∧0=0 1∧1=1
非 : 0=1 1=0
异或 ⊕: 0⊕0=1⊕1=0 0⊕1=1⊕0=1
五、 数值在计算机中的表示--原码、补码和反码表示
1、原码
位:用0表示正数,用1表示负数。
数值部分:用二进制的绝对值表示。
[+105]原=01101001 [-105]原=11101001 [+0]原=00000000 [-0]原=10000000符号用8位(一个字节)二进制数表示的范围:-127~+127。
2、反码
正数的反码与其原码相同。
而负数的反码等于其绝对值各位求反。
[+105]反=01101001 [-105]反=10010110 [+0]反=00000000 [-0]反=11111111
用8位(一个字节)二进制数表示的范围:-127~+127。
3、补码
正数的补码与其原码相同。
负数的补码是把其原码除符号位外的各位先求其反码,然后在最低位加1。
X-Y=X+(Y的补码)=X+(Y的反码+1)
用8位(一个字节)二进制数表示的范围:-128~+127。
[+105]补=01101001 [-105]补=10010111 [0]补=00000000 [-1]补=11111111
0113
六、 数值在计算机中的表示--定点数和浮点数
1、定点数:在计算机中一个数的小数点的位置是固定的
(1)纯小数表示法
符号位
.数值部分
(2)整数表示法
符号位
数值部分.
2、浮点数:在计算机中一个数的小数点的位置是浮动的。一个浮点数的表示分为阶码和尾数两个部分:
N=M×2e
其中e是一个二进制整数,M是二进制小数,这里称e为数N的阶码,M称为数N的尾数,M表示了数N的全部有效数字,阶码e指明了小数点的位置。
七、 非数值信息在计算机中的表示
1、ASCII码
ASCII码(American Standard Code for Information Interchange)是美国信息交换标准代码的简称。ASCII码占一个字节,标准ASCII码为7位(最高位为0),扩充ASCII码为8位。7位二进制数给出了128个编码,表示了128个不同的字符。其中95个字符可以显示。包括大小写英文字母、数字、运算符号、标点符号等。另外的33个字符,是不可显示的,它们是控制码,编码值为0~31和127。
例如A的ASCII码为1000001,十六进制表示为41H。回车符(CR)的ASCII码为13。
空格 20H
'0'~'9' 30H~39H
'A'~'Z' 41H~5AH
'a'~'z' 61H~7AH
2、BCD码
BCD码用4位二进制数表示一位十进制数。
3、汉字交换码
(1)区位码:GB2312-80"信息交换用汉字编码字符集",组成一个94*94的矩阵。每一行称为一个"区",每一列称为一个"位"。一个汉字的区号和位号合在一起构成"区位码"
(2)汉字交换码(国标码): 区位码(十进制)的两个字节分别转换为十六进制后加20H。
4、汉字机内码:是计算机系统中对汉字的一种运行代码,系统内部的存储、传输都是对机内码进行的。它也和汉字存在着一一对应的关系。机内码也占两个字节,且最高位为1。同一个汉字,在同一种汉字操作系统中,内码是相同的。
汉字机内码是汉字交换码两个字节的最高位分别加"1",即汉字交换码的两个字节分别加80H;或区位码(十进制)的两个字节分别转换为十六进制后加A0H。