注:一个负数的反码的数值部分并不是其真值的 绝对值,要按位取反才能求得真值的绝对值 4补码→正数的补码与原码相同,负数的补码为它的 正数的补码按位求反且在最低位加1(求反加1) 如:[+91]2=01011011B=5BH [91]=10100101B=0A5H 如:[+4]=0000100B=04H -4]x=1111100B=0FCH +127]=011117FH -127]x=1000001B=81H [+0]x=0000000B=00H 0]x=00000008=00H
注:一个负数的反码的数值部分并不是其真值的 绝对值,要按位取反才能求得真值的绝对值. 4.补码→正数的补码与原码相同,负数的补码为它的 正数的补码按位求反,且在最低位加1(求反加1). 如: [+91]补 =0101 1011B=5BH [-91]补 =1010 0101B=0A5H 如: [+4]补 =0000 0100B=04H [-4]补 =1111 1100B=0FCH [+127]补 =0111 1111B=7FH [-127]补 =1000 0001B=81H [+0]补 =0000 0000B=00H [-0]补 =0000 0000B=00H
注:一个补码表示的数,最高位为0→正数,其余位为其真 值;最高位为1→负数,其余位并不表示真值的绝对值,必 需再求补,才得其真值的绝对值 如:已知[x=94H=10010100B→数值位求补→ 1101100B=-6CH=-108 说明 微机中,凡是带符号数约定用补码表示(除非特殊申明) 数可用8位或16位或32位(即2位或4位或8位16进制数)表 示一个数→称为字节,字,双字类型 如:[+4]=04H→字节表示 [+4]x=0004H1→字表示 [-4]=11111100B=0FCH→字节表示 -41=111110CH字表示
注:一个补码表示的数,最高位为0→正数,其余位为其真 值;最高位为1→负数,其余位并不表示真值的绝对值,必 需再求补,才得其真值的绝对值. 如:已知[X]补 =94H=1001 0100B→数值位求补→ -110 1100B=-6CH=-108 说明: 微机中,凡是带符号数约定用补码表示(除非特殊申明). 数可用8位或16位或32位(即2位或4位或8位16进制数)表 示一个数→称为字节,字,双字类型. 如:[+4]补 =04H→ 字节表示 [+4]补 =0004H→字表示 [-4]补 =1111 1100B=0FCH→字节表示 [-4]补 =1111 1111 1111 1100B=0FFFCH→字表示
例说明16位补码实际上是8位补码的符号扩展,即 个二进制数的补码的符号位向左扩展若干位后,仍是 该数的补码 值得注意的是:只有最高位才是符号位,字节为D位 字为D15位 进行数的转换时,应考虑数的表示范围: *8位无符号数所能表示的范围:00H~OFH,即0 255,即0~28-1 *16位无符号数所能表示的范围:0000H~0FFFH,即 0~65535,即0~216 *8位补码数所能表示的范围:80H~7FH即-128~ +127,即-27~+27-1. *16位补码数所能表示的范围:8000H~7FFFH,即 32768~+32767即-215~+215-1
例说明16位补码实际上是8位补码的符号扩展,即一 个二进制数的补码的符号位向左扩展若干位后,仍是 该数的补码. 值得注意的是:只有最高位才是符号位,字节为D7位, 字为D15位. * 进行数的转换时,应考虑数的表示范围: * 8位无符号数所能表示的范围:00H~0FFH,即0~ 255,即0~2 8 -1. * 16位无符号数所能表示的范围:0000H~0FFFFH,即 0~65535,即0~2 16 . * 8位补码数所能表示的范围:80H~7FH,即-128~ +127,即-2 7~+27 -1. * 16位补码数所能表示的范围:8000H~7FFFH,即- 32768~+32767,即-2 15~+215-1
引进补码的好处是为了内部简化运算,从而简化计算 机硬件结构(因为2的补码,只要求反加1硬件易于实现) 例:127-12=115127+(-12)=115 01111111 01111111 00001100+11110100 01110011 101110011 因为超出表示范围进位自然丢掉(注意只是内部 运算将减法变为补码加) 作业:第一章:1.64,100,255 2. 2CH OCADH 100H 3.+18-18+347347+65530,65530 4.71H,0F8H9350H
.引进补码的好处是为了内部简化运算,从而简化计算 机硬件结构(因为2的补码,只要求反加1,硬件易于实现). 例: 127-12=115 →127+(-12)=115 0111 1111 0111 1111 - 0000 1100 + 1111 0100 0111 0011 1 0111 0011 因为超出表示范围,进位自然丢掉.(注意只是内部 运算将减法变为补码加). 作业: 第一章:1. 64,100,255 2. 2CH,0CADH,100H 3. +18,-18,+347,-347,+65530,-65530 4. 71H,0F8H,9350H
二进制数的运算 数字系统中可进行两种基本运算:加减运算,利用加减 运算可进行乘除及其它运算 1.二进制加法规则: 0+0=0 0+1=1+0=1 1+1=0→>进位1 1+1+1=1→进位1;实际两数相加每位都有三个数操作 2.二进制减法规则 0-0=0 1-0=1 1-1=0 0-1=1→>借位1;实际两数相减,每位都有三个数操作
三.二进制数的运算 数字系统中可进行两种基本运算:加减运算,利用加减 运算可进行乘除及其它运算. 1.二进制加法规则: 0+0=0 0+1=1+0=1 1+1=0→进位1 1+1+1=1→进位1 ;实际两数相加,每位都有三个数操作. 2.二进制减法规则: 0-0=0 1-0=1 1-1=0 0-1=1→借位1 ;实际两数相减,每位都有三个数操作