null二进制表示与运算二进制表示与运算二进制表示与运算二进制表示与运算 二进制与十进制、八进制和十六进制的转换 数的表示(定点小数、定点整数、浮点数) 机器码(原码、反码、补码) 定点数的运算十进制十进制由0, 1, 2, 3, 4, 5, 6, 7, 8, 9等十个不同的符号来表示数值的一种表示
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,采用逢10进1的计算方式。例如
253.48=2*102+5*101+3*100+4*10-1+8*10-2
显然,任一数字的位置是由10的次幂而决定的,这个10就是十进制的基数。十进制的特征:
数字的个数等于基数
最大的数字比基数小1
每个数字都要乘以基数的幂次,而该幂次是由每个数所在的位置决定的为什么数字计算机上要采用二进制为什么数字计算机上要采用二进制计算机是电子设备,它容易实现的稳定状态有两种,如电路的通或断、电位的高或低。两种稳定状态工作可靠,抗干扰能力强,分别对应着数值1和0,这就是计算机中使用二进制数的理由。
1和0的不同编码组合可以表示一个数、一个字符或一条操作指令。二进制二进制二进制数
1)用0和1两个数符表示两个不同的数。
2)逢二进一,即高一位数是低一位数的2倍
因此,二进制数10101.101的十进制值可用以下方法求出:
(10101.101)2
=1×24+0×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3
=16+0+4+0+1+0.5+0+0.125
=(21.625)10二进制二进制 二进制:逢二进位的数制系统 基数:0 1例:( 110)21×22+1×21+0×20=(6)10 奇偶数的判断以尾数为准 易于运算 用于表达二进制数所需的物理状态最少例:0~999范围内的数,十进制表示需3×10=30个稳定状态;
二进制表示需10×2=20个稳定状态(210=1024)二进制数转换为十进制数二进制数转换为十进制数 整数部分:
(knkn-1…k2k1)2=(kn×2n-1+kn-1×2n-2+…+k2×21+k1)10 小数部分:
(. k1 k2 …kn-1kn)2=(k1×2-1+k2×2-2+…+kn-1×2-(n-1)+kn × 2-n)10 例: (11001)224+23+1=(25)10(0.101)22-1+2-3=(0.625)10(101.11)222+1+2-1+2-2=(5.75)10十进制整数转换为二进制数十进制整数转换为二进制数 转换规则:除2取余 (x)10 =(knkn-1…k2k1)2=(kn×2n-1+kn-1×2n-2+…+k2×21+k1)10k1=x除2取余数,k2=(x-k1)/2除2取余,……直至商数小于2(27)10=(11011)2例: (20)10=
(67)10=
(128)10= (10100)2(1000011)2(10000000)2十进制小数转换为二进制数十进制小数转换为二进制数 转换规则:乘2取进位 (x)10 =(. k1 k2 …kn-1kn)2=(k1×2-1+k2×2-2+…+kn-1×2n-1+kn × 2-n)10k1=x乘2取进位,k2=(2×x-k1)乘2取进位,……直至余数为0例: (0.125)10=(0.001)20.125×2=0.25 进位为0
0.25×2=0.5 进位为0
0.5×2=1 进位为1,余数为0,计算结束练习: (0.625)10=(0.101)2(23.25)10=(10111.01)2八进制与十六进制八进制与十六进制在计算机中应用二进制有一系列的优点,但写起来位数太多,读起来也比较麻烦,为了读写方便,往往采用八进制和十六进制作为二进制的过渡方式。
八进制:用0,1,2,3,4,5,6,7 八个数符。采用“逢八进一”的计数方法。
十六进制:用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个数符。采用“逢十六进一”的计数方法。二进制数与八进制的转换二进制数与八进制的转换一位八进制数相当于三位二进制数,即有如下的对应关系:
转换的方法是:由小数点开始向左把二进制整数按每三位一划分,同理,由小数点开始向右把二进制小数按每三位一划分,不足三位的用0补齐,然后写出其相应的八进制数。二进制数与八进制的转换二进制数与八进制的转换
转换的方法是:由小数点开始向左把二进制整数按每三位一划分,同理,由小数点开始向右把二进制小数按每三位一划分,不足三位的用0补齐,然后写出其相应的八进制数。
【例】 (10001101.1101)2=( )8八进制与二进制数的转换八进制与二进制数的转换
转换的方法是:这是上述转换的逆过程。将八进制数的每一位用相应的三位二进制数写出即可。
【例】 (325.46)8=( )2
解 3 2 5 . 4 6
011 010 101 . 100 110二进制数与十六进制数的转换二进制数与十六进制数的转换一位十六进制数相当于四位二进制数,即有如下对应关系:二进制数与十六进制数的转换二进制数与十六进制数的转换转换的方法是:由小数点开始向左把二进制整数按每四位一划分,同理,由小数点开始向右把二进制小数按每四位一划分,不足四位用0补齐,然后写出其相应的十六进制数。
【例】 (11110111101.01)2=( )16
解 0111 1011 1101 . 0100
7 B D . 4
所以 (11110111101.01)2=(7BD.4)16二进制数与十六进制数的转换二进制数与十六进制数的转换将十六进制数的每一位用相应的四位二进制数写出。
【例】 (23.F)16=( )2
解 2 3 . F
0010 0011 . 1111
所以 (23.F)16=(100011.1111)2
非十进制到十进制数的转换非十进制到十进制数的转换非十进制数转换成十进制数
其方法以上已经介绍过了,即把非十进数按位权展开并求和。
例如: (32CF.4B)16 =( )10
(32CF.4B)16
=3×163+2×162+12×161+15×160+4×16-1+11×16-2
=12288+512+192+15+0.25+0.04296875
=(13007.29296875)10二、八、十六进制对照表二、八、十六进制对照表表1.1 二、八进制数字对照表表1.2 二、十六进制数字对照表null数制转换小结
1.非十进制数转换成十进制数
方法:把非十进数按位权展开并求和。
2.十进制数转换为非十进制数
(1)十进制整数转换为非十进制整数
方法:除以基数,直至商为0,取其余数,倒排。null(2)十进制小数转换为非十进制小数
8 4 2 1
23 22 21 20
方法:乘以基数,直至小数部分为0,取其整数,顺排。
3.非十进制之间互相转换(1)二进制数与八进制数间互换
一位八进制数相当于三位二进制数
(2)二进制数与十六进制数间互换
一位十六进制数相当于四位二进制数练习练习十进制转换为二进制:83.25,56.38
二进制转换为十进制:11010011.001011
八进制转换为二进制:265.73
二进制转换为八进制:11010011.1101
十六进制转换为二进制:3FD.6C
二进制转换为十六进制:11011110.11
十进制转换为八进制:593.92
八进制转换为十进制:67.76练习练习十进制转换为十六进制:85.58
十六进制转换为十进制:7C.C7
八进制转换为十六进制:56.65
十六进制转换为八进制:5B.B5
数的定点与浮点表示数的定点与浮点表示一个十进制数123.456可以表示为
123.456 = 0.123456 * 103
数0.000456可以表示为:
0.000456 = 0.456 * 10-3
类似地,对于二进制数10011.101也可以这样表示为:
10011.101 = 2101 * 0.10011101数的定点与浮点表示数的定点与浮点表示一般地,任意一个二进制数N可表示为:
N=2j * S
其中j是二进制整数位数;S是二进制小数,j称为数N的阶码,S为数N的尾数。尾数S表示数N的全部有效数字,阶码j指明了小数点的位置。数的定点与浮点表示数的定点与浮点表示一般地,任意一个二进制数N可表示为:
N=2j * S
对任何一个数,若阶码j是固定不变的,则把这种表示法称为定点表示,这样的数称为定点数。反之,如果j可以取不同值,则把这种表示称为数的浮点表示,这样的数称为浮点数。数的定点与浮点表示数的定点与浮点表示一般地,任意一个二进制数N可表示为:
N=2j * S
如果对任何数j=0,则该定点数只能表示小数。这种表示法是一种常用的方法,以后我们讨论问题时,除非特别说明,否则都采用这种表示方法。数的定点与浮点表示数的定点与浮点表示如果计算机中的数采用定点表示,则计算机中数的小数点是固定的,这种计算机叫定点计算机;如果计算机中的数采用浮点表示,这时机器中数的小数是可以变化的,这种计算机叫浮点计算机。数的机内表示— 定点小数数的机内表示— 定点小数 定点小数: 数符:0——正, 1——负例:+0.001101-0.1010 若机器字长为n,则定点小数的数值表示范围为:
2-(n-1)<=|x|<=1-2-(n-1)小数点 有关机器码及其运算的介绍均以定点小数为例数的机内表示— 定点整数数的机内表示— 定点整数 无符号整数: 字长为n时,无符号整数的表达范围为 0~2n-1 有符号整数: 字长为n时,有符号整数的表达范围为 |x|<=2n-1-1数的机内表示— 浮点数数的机内表示— 浮点数 浮点数: 将数x表示为 s×2j的形式,其中s为x的小数形式(尾数) -110.11= -0.11011×211 设阶码共m位,尾数共n-1位,则浮点数的表示范围为:
2-(2m-1)×2-1<=|x|<=2(2m-1)×[1-2-(n-1)]符号的表示方法符号的表示方法在计算机中,二进制数码1和0是用电子元件的两种不同状态来表示的,对于一个数的符号,也用电子元件的两种不同状态来表示。一般约定正数的符号用0表示,负数和符号用1表示。
在作乘法或除法时,把数的符号位按位相加后就得到结果的符号位,其规则为:
正数乘正数,符号按位相加得:0+0=0
正数乘负数,符号按位相加得:0+1=1
负数乘负数,符号按位相加得:1+1=0逻辑代数逻辑代数在数字电路中,我们要研究的是电路的输入输出之间的逻辑关系,所以数字电路又称逻辑电路,相应的研究工具是逻辑代数(布尔代数)。在逻辑代数中,逻辑函数的变量只能取两个值(二值变量),即0和1,中间值没有意义,这里的0和1只表示两个对立的逻辑状态,如电位的低高(0表示低电位,1表示高电位)、开关的开合等。null1 “与”逻辑A、B条件都具备时,事件Y才发生。三种基本运算-----与、或、非灭灭灭亮逻辑代数的基本运算null逻辑代数的描述方法真值表用0表示开关断开、1表示开关闭合
用0表示灯灭、1表示灯亮null逻辑代数的描述方法逻辑式真值表Y=A•B或AB0 • 0 = 0 0 • 1 = 0
1 • 0 = 0 1 • 1 = 1有0出0,全1出1。null“或”逻辑A、B只有一个条件具备时,事件Y才发生。灭亮亮亮null逻辑代数的描述方法逻辑式真值表Y=A + B0 + 0 = 0 0 + 1 = 1
1 + 0 = 1 1 + 1 = 1有1出1,全0出0。null“非”逻辑逻辑式真值表有1出0,全0出1。A条件具备时 ,事件 Y不发生;A不具备时,事件Y才发生。机器码—原码机器码—原码 数学定义:
[x]原=x 1>x>=0 1-x 或 1+|x| 0>x>-1 物理意义:将x表示为定点小数例:x=+0011011 [x]原=00011011
x= -1000110 [x]原=11000110机器码—原码机器码—原码原码表示法简单易懂,与真值的转换方便。
运算:当两个数作加法运算时,如果两数码符号相同,则数值相加,符号不变;如果两数符号不同,数值部分实际上是进行相减。这时,必须比较两个数哪个绝对值大,才能决定谁减谁。这件事在手算时容易解决,但计算机中执行却比较麻烦,增加了计算复杂性,效率会降低。机器码—反码机器码—反码所谓反码,就是把二进制数的各位数码,0变为1,1变为0。 数学定义:
[x]反=x 1>x>=0 2-2-n+x 0>=x>-1 物理意义:正数反码等于原码,负数反码等于原码各数码位取反例:x=+0011011 [x]原=00011011 [x]反=00011011
x= -1000110 [x]原=11000110 [x]反=10111001机器码—补码机器码—补码-3+9 取模运算:整除模数后取余数例:45 mod 12 =9 3 mod 12=3 5 mod 3=2 模:一个计算系统的最大容量 定点小数机器码以2为模-3 ≡ 9 (mod 12)机器码—补码机器码—补码 数学定义:
[x]补=x 1>x>=0 2+x 或 2-|x| 或 [x]反+2-n 0>x>-1 物理意义:正数补码等于原码,负数补码等于反码最低位加1例:x=+0011011
[x]原=00011011 [x]反=00011011 [x]补=00011011
x= -1000110
[x]原=11000110 [x]反=10111001 [x]补=10111010示例示例已知X=0.125,求它的原码、反码和补码
[X]原 = 0.001 [X]反 = 0.001 [X]补 = 0.001
已知X=-0.25,求它的原码、反码和补码
[X]原 = 1.010 [X]反 =2-2-n+X=1.101
[X]补 = 2-|X| =1.110 [X]补 = [X]反+2-n示例示例已知[X]补 = 1.1011,求它的反码和原码
解:因为[X]补 = [X]反 + 2-n
所以 [X]反 = [X]补 – 2-n
= 1.1011 – 2-n
= 1.1010
故 [X]原 = 1.0101定点数加(减)法定点数加(减)法当数值用补码形式表示时,可用加法完成减法运算。这样,在计算机的计算器中只要有一个加法器,而不必为了实现减法或负数而再配一个减法器。
补码加法公式为:
[X]补+ [Y]补= [X + Y]补 (mod 2)
以上形式的正确性可以得到证明,其条件为|X|<1, |Y|<1, |X+Y|<1定点数加(减)法定点数加(减)法 定点补码加(减)法:[x]补+[y]补=[x+y]补,|x|<1, |y|<1, |x+y|<1
例: 00100000 ——— (+0.01)2=(+0.25)10
+ 11110000 ——— (-0.001)2=(-0.125)10
———————
100010000 ———(+0.001)2=(+0.125)10 机器数的表达范围有限,两数之和超出表示范围时,产生溢出(overflow)例: 01100101
+ 01000011
———————
10101000正数相加,结果为负数定点乘法定点乘法 符号位:两数相乘.符号位相加。 0+0=0, 1+0=0+1=1, 1+1=1 0 数值部分:原码相乘 0.101
× 0.011
————
101
101
+ 000
————
0.001111 0.000 累加器初值为0
+0.101 乘数末位为1,加被乘数
———
0.101 部分积
0.010 1 部分积右移一位
+0.101 乘数倒数第二位为1,加被乘数
———
0.111 第二次部分积
0.011 11 第二次部分积右移一位
+0.000 乘数最高位为0,加0
———
0.011 第三次部分积
0.001 111 第三次部分积右移一位,得结果本章作业本章作业将十制数213和69.625分别转换为二、八、十六进制表示。
将十六进制数E6.6分别转换为二、八、十进制表示。
假定某台计算机的机器数占8位,请写出 -67和55的原码、反码和补码表示,并使用补码实现这两个数的加法运算,即55-67。