目录
进制转换
R进制转十进制:按权展开法
将R进制数的每一位数值用形式表示,即幂的底数为R,指数为K,K与该位和小数点之间的距离有关。
例如二进制 ;
例如七进制 ;
十进制转R进制:短除法(除基取余法)
二进制八进制与十六进制数
八进制的数码为:0,1,2,3,4,5,6,7
可得出每三个二进制可表示一个八进制数:000,001,010,011,100,101,110,111
同理可得:每四个二进制可表示一个十六进制数;
原/反/补/移码
原码:最高位是符号位:0为正数,1为负数;其余低位表示数值的绝对值;
反码:正数的反码与原码相同,负数的反码是其绝对值按位取反(符合位不变)
补码:由于计算机不能用原码进行直接的加减计算,所以产生了补码;正数的补码与原码相同,负数的补码是其反码末位+1(符合位不变)
移码:用于浮点数的偏移;补码的符号位按位取反
例题1:采用n位补码(包含一个符号位)表示数据,可以直接表示数值()
A: B:- C: D:-
解:设n=3,此时可以表示 000、001、010、011、100、101、110、111;此时A=8,B=-8,C=4,D=-4;由于负数的补码有正零和负零两个数值表示0,所以人为规定负零表示最高位负数;则在此例题中,100负零表示的数值为-4,所以此题选择D;
例题2:如果“2X”的补码是“90H”,那么X的真值是()
A:72 B:-56 C:56 D:111
解:二进制的符号为B,八进制的符号为O,十进制的符号为D,十六进制的符号为H;由此可根据90H转二进制计算补码=1001 0000。补码=反码+1,可得反码=1000 1111,可得原码=1111 0000,可转十六进制为-70H,可得,可得X=-56;
浮点数
浮点数=尾数*基数^指数,
基数R:几进制;在计算机中表示二进制
尾数M:定点小数;一般用补码
指数e(阶码);定点整数;一般用移码;阶码的位数
浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定。
运算过程:对阶(阶码小的向阶码大的对齐) -> 尾数计算 -> 结果格式化;