第一节 数据的组成与表示
- 进制的表示
二进制:0,1,用B表示
十进制:0,1,2,3,4,5,6,7,8,9,用D表示
八进制:0,1,2,3,4,5,6,7,用O表示
十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,用H表示
温馨提示:计算机的一切数据,如数字,汉字,图片,声音,视频,指令等都是用二进制进行表示与传输的。
2.ASCII码:美国信息交换标准代码,一般使用7位二进制数来表示字母,数字,标点符号及部分特殊控制字符
3.进制间的转换
(1)其他进制转十进制
R进制转十进制使用按权展开的格式,其具体操作方式是:将R进制的每位数据用RK的形式表示,即幂的底数是R,指数为K,k与该位和小数点之间的距离有关,当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位与小数点之间数码的个数加1。
例如:
①二进制数10100.01转十进制数10100.01=1*24+1*22+1*2-2=20.25
②八进制数604.01转十进制数604.01=6*82+0*81+4*80+0*8-1+1*8-2
- 十进制转R进制:
十进制转二进制是用整数取余法
例如十进制604转二进制:
604=302*2...........0
302=151*2..........0
151=75*2............1
75=37*2..............1
37=18*2..............1
18=9*2................0
9=4*2...................1
4=2*2...................0
2=2*1...................0
1=2*0...................1
从下往上依次为1001011100,同理,八进制就是用604除8,十六进制就是用604除16
- 二进制转八进制、十六进制:
以二进制数的最后一位起,从后往前的三位数为一位,将它化成八进制数,例如,100100100,他的八进制就是444
1001001,最前面的1开始数不够三位怎么办呢,往前补两个0,他的八进制是111,同理十六进制也一样,十六进制四位算作一位,例如00110011,它的十六进制就是33。
- 原码、补码、反码、移码
- 转换规则:
码制 |
正数 |
负数 |
运算规则 |
原码 |
01100010 |
11100010 |
最高位为符号位,0表示正数,1表示负数 |
反码 |
01100010 |
10011101 |
原码基础上,正数抱持不变,负数符号位不变,其余位置取反 |
补码 |
01100010 |
10011110 |
反码基础上,正数保持不变,负数+1 |
移码 |
11100010 |
00011110 |
补码基础上,将符号位取反 |
移码:通常用于表示浮点数的阶码,其表示形式与补码形式相似,只是其符号位用1表示正数,用0表示负数,数值部分与补码相同
- 浮点数
- 浮点数的表示
N=尾数*(基数)指数
N=数符*尾数m*2阶符*阶码e
温馨提示:
- 数符表示数的正负,阶符表示阶码的正负
- 阶码的位数表示数的表示范围,位数越多,范围越大
- 位数的尾数决定数的有效的精度,位数越多,精度约高
- 浮点数加减运算过程
- 两浮点数加减运算过程:对阶->尾数计算->结果格式化
0.1001*2100+0.110*2011----->0.1001*2100+0.011*211--->0.011*210*21
温馨提示:
- 对阶时,小数向大数看齐
- 对阶是通过较小数的尾数左移实现的
- 浮点数转二进制
-37/64=-32+4+1/64=-25+22+21/26
=-(2-1+2-4+2-6)=(-0.100101)2=1.1001010
课后习题
- 目前的小型与微型计算机系统中普遍采用的字母与字符编码是()
- BCD编码 B海明码 C ASCII码 D补码
- 对于十六进制5c,可用算式()计算与其对应的十进制数
A.5 *16 +12 B 12*16+5 C5*16-12 D 12*16-5
- 十六进制92H的八进制数是()
- 444 B442 C 234 D 222
- 设机器码字长为8,对于二进制编码10101100,如果他是某整数x的补码表示,则x的取值为(),若他是某符号整数y的机器码,则y的真值为()
A.84 B.-84 C 172 D. -172
A.52 B.84 C 172 D.204
- 计算机中常用原码、反码、补码和移码表示数据,其中表示0仅用一个编码的是(),在定点二进制运算中,减法运算一般通过()来实现
- 原码与反码 B.原码与补码 C.反码与移码