第0章计算机的基础知识150918.ppt
二进制数和十六进制数间的相互转换 将二进制数从右(最低位)向左每4位为1组分组,若最后一组不足4位,则在其左边添加0,以凑成4位,每组用1位十六进制数表示。如: 1111111000111B→1 1111 1100 0111B→ 0001 1111 1100 0111B=1FC7H 十六进制数转换位二进制数,只需用4位二进制数代替1位十六进制数即可。 如:3AB9H=0011 1010 1011 1001B 十六进制数和十进制数间的相互转换 将十六进制数按权展开相加,如: 1F3DH=163×1+162×15+161×3+160×13 =4096×1+256×15+16×3+1×13 =4096+3840+48+13=7997 十进制整数转换为十六进制数可用出16取余法,即用16不断地去除待转换的十进制数,直至商等于0为止。将所得的各次余数,依倒叙排列,即可得到所转换的十六进制数。如将38947转换为十六进制数,其方法及算式如下: 即38947=9823H 0.3.2 计算机中数的几个概念 1.机器数与真值 机器数:机器中数的表示形式,它将数的正、负符号和数值部分一起进行二进制编码,其位数通常为8的整数倍。 真值:机器数所代表的实际数值的正负和大小,是人们习惯表示的数。 2。数的单位 位(bit):一个二进制数中的1位,其值不是1便0。 字节(Byte):一个字节,就是一个8位的二进制数。 字(Word):两个字节,就是一个16位的二进制数。 双字:两个字,即四个字节,一个32位二进制数。 只有8位、16位或32位机器数的最高位才是符号位。 0.3.3 计算机中的有符号数的表示 有符号数有原码、反码和补码三种表示法。 1.原码 数值部分用其绝对值,正数的符号位用“0”表示,负数的符号位用“1”表示。如: X1=+5= [X1]原 X2=-5= [X2]原 符号位 8位原码数的范围为FFH~7FH(-127~127)。原码数00H和80H的数值部分相同、符号位相反,它们分别为+0和-0。16位原码数的数值范围为FFFFH~7FFFH(-32767~32767)。原码数0000H和8000H的数值部分相同、符号位相反,它们分别为+0和-0。 原码表示简单易懂,而且与真值的转换方便。但若是两个异号数相加,或两个同号数相减,就要做减法。为了把减运算转换为加运算,从而简化计算机的结构,就引进了反码和补码。 (2)反码 正数的反码与原码相同; 负数反码:符号位不 变,数值部分按位取反。 例 求8位反码机器数: x1=+4 [x1]原 [x1]反=04H x2=-4 [x2]原 [x2]反= FBH 取反 (3)补码 正数的补码与原码相同;负数补码为其反码加1。 例:求 8位补码机器数: x1=+4: [x1]原=[x1]反=[x1]补=04H x2= - 4:[x2]原 [x2]反 = [x2]补 = [x2] 反+1= 1111100=FCH 8位补码数的数值范围为-128~127(80H~7FH)。 16位补码数的数值范围为8000H~7FFFH(-32768~32767)。字节80H和字8000H的真值分别是-128(-80H)和-32768(-8000H)。补码数80H和8000H的最高位既代 表了符号为负,又代表了数值为1。 快速求法: 将负数原码的最前面的1和最后一个1之间的每一位取反。例如 x=-4: [x]原 = [x]补 =FCH取反 ②用 模-|X|求 两数互补是针对一定的“模”而言,“模”即计数系统的过量程回零值,例如时钟以12为模(12点也称0点),4和8互补,一位十进制数3和7互补(因为3+7=10,个位回零,模为101=10),两位十进制数35和65互补(因为35+67=100,十进制数两位回零,模为102=100),而对于8位二进制数,模为28=100000