原码1位乘法

在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运算得到,而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点小数表示(定点整数也同样适用)

被乘数 [x] = x.xxx… xn        

乘数   [y] = yf .yyy… yn

乘积   [ z ] = ( xf⊕y) . (0. xxx…xn)(0 . yy…yn)

式中,xf为被乘数符号,yf为乘数符号。

乘积符号的运算法则是:同号相乘为正,异号相乘为负。由于被乘数和乘数和符号组合只有四种情况(xf yf = 00,01,10,11),因此积的符号可按“异或”(按位加)运算得到。

数值部分的运算方法与普通的十进制小数乘法相类似,不过对于用二进制表达的数来说,其乘法规则更为简单一些:从乘法y的最低位开始,若这一位为“1”,则将被乘数x写下;若这一位为“0”,则写下全0。然后再对乘数y的高一位进行的乘法运算,其规则同上,不过这一位乘数的权与最低位乘数的权不一样,因此被乘数x要左移一位。依次类推,直到乘数各位乘完为止,最后将它们统统加起来,便得到最后乘积z 。

设 x = 0.1011,y = 0.1101,让我们先用习惯方法求其乘积,其过程如下:

×

0.

1

1

0

1

(x)

0.

1

0

1

1

(y)

+

1

1

0

1

1

1

0

1

0

0

0

0

1

1

0

1

0.

1

0

0

0

1

1

1

1

(z)

如果被乘数和乘数用定点整数表示,我们也会得到同样的结果。但是,但是人们习惯的算法对机器并不完全适用。原因之一,机器通常只有n位长,两个n位数相乘,乘积可能为2n位。原因之二,只有两个操作数相加的加法器,难以胜任将n个位积一次相加起来的运算。为了简化结构,机器通常只有n位长,并且只有两个操作数相加的加法器。为此,必须修改上述乘法的实现方法,将 x · y 改写成适于如下定点机的形式:

一般而言,设被乘数 x 、乘数 y 都是小于 1 的 n 位定点正数:

x = 0 . xx… xn   ;   y = 0 . yy… yn

其乘积为

x · y =  x · ( 0.y1y… y)

= x · ( y-1 + y-2 + … + y-n)

= 2 -1( y1x + 2-1( yx + 2-1 (… + 2-1 ( yn-1 x + )…))

令 zi 表示第 i 次部分积,则上式可写成如下递推公式:

z0 = 0

z1 = 2-1( ynx + z0)

 …

zi = 2-1( yn-i+1x + zi-1)                            (2.3.2)

 …

zn = x·y = 2-1( y1x + zn-1)

显然,欲求x·y,则需设置一个保存部分积的累加器。乘法开始时,令部分积的初值z0 = 0,然后求加上ynx,右移1位得第1个部分积,又将加上yn - 1x,再右移1位得第2个部分积。依此类推,直到求得y1x加上zn-1并右移1位得最后部分积,即得x·y。显然,两个n位数相乘,需重复进行n次“加”及“右移”操作,才能得到最后乘积。这就是实现原码一位乘法的规则。

【例 】  x  = 0.1101, y = 0.1011,用原码一位乘法计算 x · y  = ?

[解:]       求解过程如下:            Flash演示   

部分积

乘数

说明

00.0000

yf

1

0

1

1

z0 = 0

+

00.1101

y4 = 1,+ x

00.1101

00.0110

1

yf

1

0

1

右移,得z1

+

00.1101

Y3 = 1,+ x

01.0011

00.1001

1

1

yf

1

0

右移,得z2

+

00.0000

Y2 = 0,+0

00.1001

00.0100

1

1

1

yf

1

右移,得z3

+

00.1101

Y1 = 1,+ x

01.0001

00.1000

1

1

1

1

yf

右移,得z3 = xy

所以                        x · y  = 0.10001111

图2-7 为实现原码一位乘法的硬件逻辑原理图。这里有三个寄存器,其中 R0 存放部分积z,在乘法开始 R前应清“0”,

保证 z0 = 0,R1 寄存器存放乘数 y ,R2寄存器存放被乘数 x 。由于乘法开始时先从乘数的最

低位 yn 开始,以后则使用yn - 1,yn - 2,…,y1,因此乘数寄存器 R应当是具有右移功能的移位寄存器。

假定加法器不具备右移功能,那么由于部分积需要右移,R也应当是具有右移功能的移位寄存器。

图2-7        原码一位乘法逻辑结构原理图

除了三个寄存器 R0,R1,R2 外,还需一个加法器和一个计数器,前者完成部分积与位积的累加,后者对移位的次数进行计数,以便判断乘法运算是否结束。

乘法开始时,“启动”信号使控制触发器 Cx 置“1”,于是开启时序脉冲 T 。当乘数寄存器 R0 最末位为“1”时,部分积 z 和被乘数 x 在加法器中相加,其结果输出至 R0 的输入端,一旦打入控制脉冲 T,控制信号 LDR0 使部分积右移 1 位,与此同时,乘数寄存器 R1 也在控制信号 LDR1 作用下右移一位,且计数器i计数 1 次。当计数器 i = n 时,计数器i的溢出信号使控制触发器 Cx 置“0”,关闭时序脉冲T,乘法操作结束。如果将 R0 和 R连接起来,乘法结束时乘积的高 n 位部分在 R0 ,低 n 位部分在 R1 ,R1 中原来的乘数y由于右移而全部丢失,乘积为 2n+1 位,其中包括 1 位符号位。

       

补码1位乘法

原码乘法的主要问题是符号位不能参加运算,单独用一个异或门产生乘积的符号位。故自然提出能否让符号数字化后也参加乘法运算,补码乘法就可以实现符号位直接参加运算。

为了得到补码一位乘法的规律,先从补码和真值的转换公式开始讨论。

1.  补码与真值的转换公式

设 [x] = x. x1x2…xn ,有:

               n                  (2.3.3)
x = - x0+∑  xi2-i     
               i=1 

等式左边 x 为真值。此公式说明真值和补码之间的关系。

2.  补码的右移

正数右移一位,相当于乘1/2(即除2)。负数用补码表示时,右移一位也相当于乘1/2。因此,在补码运算的机器中,一个数不论其正负,连同符号位向右移一位,若符号位保持不变,就等于乘1/2。

3.  补码乘法规则

设被乘数 [x] = x0.x1x2…xn 和乘数 [y] = y0.y1y2…yn 均为任意符号,则有补码乘法算式

                                         n (2.3.4)
  [ x · y ]补 = [x] ·  ( - y0 + ∑ yi2-i )
                                                     i=1 

为了推出串行逻辑实现人分步算法,将上式展开加以变换:

[x·y]补   = [x]·[ - y0 + y12-1 + y22-2 + … + yn2-n]

= [x]·[ - y0 + (y1 - y12-1) + (y22-1 - y22-2) + … + (yn2-(n-1) - yn2-n)]

= [x]·[(y1 - y0) + (y2 - y1) 2-1 + … + (yn - yn-1) 2-(n-1) + (0 - yn)2-n]

= [x]·            (yn+1  =  0)

写成递推公式如下:

[ z] = 0

[ z] = 2 -1{ [ z]补 +  (  yn+1 - yn ) [x]补 }           (yn+1  =  0)

[ z] = 2 -1{ [ zi-1 ]补 +  ( yn-i+2 - yn-i+1 ) [x] }             (2.3.5)

[ z] = 2 -1{ [ zn-1 ]补 +  ( y2 - y) [x]补 }

[ zn+1 ] = [ z]补 +  (  y- y) [x] = [ x · y ]补 

开始时,部分积为 0,即 [z0] = 0。然后每一步都是在前次部分积的基础上,由 (  yi+1  -  yi  ) ( i = 0,1,2,…,n) 决定对[x]的操作,再右移一位,得到新的部分积。如此重复 n + 1步,最后一步不移位,便得到 [ x · y ] ,这就是有名的布斯公式。

实现这种补码乘法规则时,在乘数最末位后面要增加一位补充位 yn+1 。开始时,由 ynyn+1 判断第一步该怎么操作;然后再由 yn - 1 yn 判断第二步该怎么操作。因为每做一步要右移一位,故做完第一步后, yn - 1 yn 正好移到原来 ynyn+1 的位置上。依此类推,每步都要用 ynyn+ 1 位置进行判断,我们将这两位称为判断位。

如果判断位 ynyn+1 = 01,则 yi+1  …  yi  = 1,做加[x]操作;如果判断位 yn yn+1 = 10,则 yi+1 … yi  =  - 1,做加[ - x] 操作;如果判断位 yn yn+1 = 11 或 00,则 yi+1… yi  = 0,[ z] 加0,即保持不变。

4. 补码一位乘法运算规则

(1) 如果 yn = yn+1,部分积 [ z] 加0,再右移一位;

(2) 如果 yn yn+1 = 01,部分积加[ x ],再右移一位;

(3) 如果 yn yn+1 = 10,部分积加[ - x],再右移一位;

这样重复进行 n+1 步,但最后一步不移位。包括一位符号位,所得乘积为 2n+1 位,其中 n 为尾数位数。

【例 】  x  = 0.1101, y = 0.1011,用补码一位乘法计算 x · y  = ?

[解:]     求解过程如下:             Flash演示       

部分积

乘数

说明

00.0000

0.

1

0

1

1

0

yn+1  =  0

+

11.0011

ynyn+1 = 10,加[-x]

11.0011

11.1001

1

0

1

0

1

1

右移一位

+

00.0000

ynyn+1 = 10,加0

11.1001

11.1100

1

1

0

1

0

1

右移一位

+

00.1101

ynyn+1 = 01,加[x]

00.1001

00.0100

1

1

1

0f

1

0

右移一位

+

11.0011

ynyn+1 = 01,加[-x]

11.0111

11.1011

1

1

1

1

0

1

右移一位

+

00.1101

ynyn+1 = 01,加[x]

00.1000

1

1

1

1

0

1

最后一步不移位

所以                        [x · y]  = 0.10001111

图2-8        补码一位乘法逻辑原理图

实现一位补码乘法的逻辑原理图如图 2-8 所示,它与一位原码乘法的逻辑结构非常类似,所不同的有以下几点:

(1) 被乘数的符号和乘数的符号都参加运算。

(2) 乘数寄存器 R有附加位 yn+1 ,其初始状态为“0”。当乘数和部分积每次右移时,部分积最低位移至 R的首位位置,故 R必须是具有右移功能的寄存器。

(3) 被乘数寄存器 R2 的每一位用原码(即触发器 Q 端)或反码(即触发器 Q 端)经多路开关传送到加法器对应位的一个输入端,而开关的控制位由和 yn 的 yn+1 输出译码器产生。当ynyn+1 = 01时,送[x] ;当 ynyn+1 = 10 时,送[-x],即送的反码且在加法器最末位上加“1”。

(4) R保存部分积,它也是具有右移功能的移位寄存器,其符号位与加法器 ∑f 符号位始终一致。

(5) 当计数器 i  =  n +1 时,封锁 LD R0 和 LD R1 控制信号,使最后一位不移位。

执行补码一位乘法的总时间为

  tm = ( n + 1 ) t+ ntr   (2.3.6)

其中 n 为尾数位数,t为执行一次加法操作的时间,t为执行一次移位操作的时间。如果加法操作和移位操作同时进行,则t项可省略。           

原码1位乘法

在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运算得到,而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点小数表示(定点整数也同样适用)

被乘数 [x] = x.xxx… xn        

乘数   [y] = yf .yyy… yn

乘积   [ z ] = ( xf⊕y) . (0. xxx…xn)(0 . yy…yn)

式中,xf为被乘数符号,yf为乘数符号。

乘积符号的运算法则是:同号相乘为正,异号相乘为负。由于被乘数和乘数和符号组合只有四种情况(xf yf = 00,01,10,11),因此积的符号可按“异或”(按位加)运算得到。

数值部分的运算方法与普通的十进制小数乘法相类似,不过对于用二进制表达的数来说,其乘法规则更为简单一些:从乘法y的最低位开始,若这一位为“1”,则将被乘数x写下;若这一位为“0”,则写下全0。然后再对乘数y的高一位进行的乘法运算,其规则同上,不过这一位乘数的权与最低位乘数的权不一样,因此被乘数x要左移一位。依次类推,直到乘数各位乘完为止,最后将它们统统加起来,便得到最后乘积z 。

设 x = 0.1011,y = 0.1101,让我们先用习惯方法求其乘积,其过程如下:

×

0.

1

1

0

1

(x)

0.

1

0

1

1

(y)

+

1

1

0

1

1

1

0

1

0

0

0

0

1

1

0

1

0.

1

0

0

0

1

1

1

1

(z)

如果被乘数和乘数用定点整数表示,我们也会得到同样的结果。但是,但是人们习惯的算法对机器并不完全适用。原因之一,机器通常只有n位长,两个n位数相乘,乘积可能为2n位。原因之二,只有两个操作数相加的加法器,难以胜任将n个位积一次相加起来的运算。为了简化结构,机器通常只有n位长,并且只有两个操作数相加的加法器。为此,必须修改上述乘法的实现方法,将 x · y 改写成适于如下定点机的形式:

一般而言,设被乘数 x 、乘数 y 都是小于 1 的 n 位定点正数:

x = 0 . xx… xn   ;   y = 0 . yy… yn

其乘积为

x · y =  x · ( 0.y1y… y)

= x · ( y-1 + y-2 + … + y-n)

= 2 -1( y1x + 2-1( yx + 2-1 (… + 2-1 ( yn-1 x + )…))

令 zi 表示第 i 次部分积,则上式可写成如下递推公式:

z0 = 0

z1 = 2-1( ynx + z0)

 …

zi = 2-1( yn-i+1x + zi-1)                            (2.3.2)

 …

zn = x·y = 2-1( y1x + zn-1)

显然,欲求x·y,则需设置一个保存部分积的累加器。乘法开始时,令部分积的初值z0 = 0,然后求加上ynx,右移1位得第1个部分积,又将加上yn - 1x,再右移1位得第2个部分积。依此类推,直到求得y1x加上zn-1并右移1位得最后部分积,即得x·y。显然,两个n位数相乘,需重复进行n次“加”及“右移”操作,才能得到最后乘积。这就是实现原码一位乘法的规则。

【例 】  x  = 0.1101, y = 0.1011,用原码一位乘法计算 x · y  = ?

[解:]       求解过程如下:            Flash演示   

部分积

乘数

说明

00.0000

yf

1

0

1

1

z0 = 0

+

00.1101

y4 = 1,+ x

00.1101

00.0110

1

yf

1

0

1

右移,得z1

+

00.1101

Y3 = 1,+ x

01.0011

00.1001

1

1

yf

1

0

右移,得z2

+

00.0000

Y2 = 0,+0

00.1001

00.0100

1

1

1

yf

1

右移,得z3

+

00.1101

Y1 = 1,+ x

01.0001

00.1000

1

1

1

1

yf

右移,得z3 = xy

所以                        x · y  = 0.10001111

图2-7 为实现原码一位乘法的硬件逻辑原理图。这里有三个寄存器,其中 R0 存放部分积z,在乘法开始 R前应清“0”,

保证 z0 = 0,R1 寄存器存放乘数 y ,R2寄存器存放被乘数 x 。由于乘法开始时先从乘数的最

低位 yn 开始,以后则使用yn - 1,yn - 2,…,y1,因此乘数寄存器 R应当是具有右移功能的移位寄存器。

假定加法器不具备右移功能,那么由于部分积需要右移,R也应当是具有右移功能的移位寄存器。

图2-7        原码一位乘法逻辑结构原理图

除了三个寄存器 R0,R1,R2 外,还需一个加法器和一个计数器,前者完成部分积与位积的累加,后者对移位的次数进行计数,以便判断乘法运算是否结束。

乘法开始时,“启动”信号使控制触发器 Cx 置“1”,于是开启时序脉冲 T 。当乘数寄存器 R0 最末位为“1”时,部分积 z 和被乘数 x 在加法器中相加,其结果输出至 R0 的输入端,一旦打入控制脉冲 T,控制信号 LDR0 使部分积右移 1 位,与此同时,乘数寄存器 R1 也在控制信号 LDR1 作用下右移一位,且计数器i计数 1 次。当计数器 i = n 时,计数器i的溢出信号使控制触发器 Cx 置“0”,关闭时序脉冲T,乘法操作结束。如果将 R0 和 R连接起来,乘法结束时乘积的高 n 位部分在 R0 ,低 n 位部分在 R1 ,R1 中原来的乘数y由于右移而全部丢失,乘积为 2n+1 位,其中包括 1 位符号位。

       

补码1位乘法

原码乘法的主要问题是符号位不能参加运算,单独用一个异或门产生乘积的符号位。故自然提出能否让符号数字化后也参加乘法运算,补码乘法就可以实现符号位直接参加运算。

为了得到补码一位乘法的规律,先从补码和真值的转换公式开始讨论。

1.  补码与真值的转换公式

设 [x] = x. x1x2…xn ,有:

               n                  (2.3.3)
x = - x0+∑  xi2-i     
               i=1 

等式左边 x 为真值。此公式说明真值和补码之间的关系。

2.  补码的右移

正数右移一位,相当于乘1/2(即除2)。负数用补码表示时,右移一位也相当于乘1/2。因此,在补码运算的机器中,一个数不论其正负,连同符号位向右移一位,若符号位保持不变,就等于乘1/2。

3.  补码乘法规则

设被乘数 [x] = x0.x1x2…xn 和乘数 [y] = y0.y1y2…yn 均为任意符号,则有补码乘法算式

                                         n (2.3.4)
  [ x · y ]补 = [x] ·  ( - y0 + ∑ yi2-i )
                                                     i=1 

为了推出串行逻辑实现人分步算法,将上式展开加以变换:

[x·y]补   = [x]·[ - y0 + y12-1 + y22-2 + … + yn2-n]

= [x]·[ - y0 + (y1 - y12-1) + (y22-1 - y22-2) + … + (yn2-(n-1) - yn2-n)]

= [x]·[(y1 - y0) + (y2 - y1) 2-1 + … + (yn - yn-1) 2-(n-1) + (0 - yn)2-n]

= [x]·            (yn+1  =  0)

写成递推公式如下:

[ z] = 0

[ z] = 2 -1{ [ z]补 +  (  yn+1 - yn ) [x]补 }           (yn+1  =  0)

[ z] = 2 -1{ [ zi-1 ]补 +  ( yn-i+2 - yn-i+1 ) [x] }             (2.3.5)

[ z] = 2 -1{ [ zn-1 ]补 +  ( y2 - y) [x]补 }

[ zn+1 ] = [ z]补 +  (  y- y) [x] = [ x · y ]补 

开始时,部分积为 0,即 [z0] = 0。然后每一步都是在前次部分积的基础上,由 (  yi+1  -  yi  ) ( i = 0,1,2,…,n) 决定对[x]的操作,再右移一位,得到新的部分积。如此重复 n + 1步,最后一步不移位,便得到 [ x · y ] ,这就是有名的布斯公式。

实现这种补码乘法规则时,在乘数最末位后面要增加一位补充位 yn+1 。开始时,由 ynyn+1 判断第一步该怎么操作;然后再由 yn - 1 yn 判断第二步该怎么操作。因为每做一步要右移一位,故做完第一步后, yn - 1 yn 正好移到原来 ynyn+1 的位置上。依此类推,每步都要用 ynyn+ 1 位置进行判断,我们将这两位称为判断位。

如果判断位 ynyn+1 = 01,则 yi+1  …  yi  = 1,做加[x]操作;如果判断位 yn yn+1 = 10,则 yi+1 … yi  =  - 1,做加[ - x] 操作;如果判断位 yn yn+1 = 11 或 00,则 yi+1… yi  = 0,[ z] 加0,即保持不变。

4. 补码一位乘法运算规则

(1) 如果 yn = yn+1,部分积 [ z] 加0,再右移一位;

(2) 如果 yn yn+1 = 01,部分积加[ x ],再右移一位;

(3) 如果 yn yn+1 = 10,部分积加[ - x],再右移一位;

这样重复进行 n+1 步,但最后一步不移位。包括一位符号位,所得乘积为 2n+1 位,其中 n 为尾数位数。

【例 】  x  = 0.1101, y = 0.1011,用补码一位乘法计算 x · y  = ?

[解:]     求解过程如下:             Flash演示       

部分积

乘数

说明

00.0000

0.

1

0

1

1

0

yn+1  =  0

+

11.0011

ynyn+1 = 10,加[-x]

11.0011

11.1001

1

0

1

0

1

1

右移一位

+

00.0000

ynyn+1 = 10,加0

11.1001

11.1100

1

1

0

1

0

1

右移一位

+

00.1101

ynyn+1 = 01,加[x]

00.1001

00.0100

1

1

1

0f

1

0

右移一位

+

11.0011

ynyn+1 = 01,加[-x]

11.0111

11.1011

1

1

1

1

0

1

右移一位

+

00.1101

ynyn+1 = 01,加[x]

00.1000

1

1

1

1

0

1

最后一步不移位

所以                        [x · y]  = 0.10001111

图2-8        补码一位乘法逻辑原理图

实现一位补码乘法的逻辑原理图如图 2-8 所示,它与一位原码乘法的逻辑结构非常类似,所不同的有以下几点:

(1) 被乘数的符号和乘数的符号都参加运算。

(2) 乘数寄存器 R有附加位 yn+1 ,其初始状态为“0”。当乘数和部分积每次右移时,部分积最低位移至 R的首位位置,故 R必须是具有右移功能的寄存器。

(3) 被乘数寄存器 R2 的每一位用原码(即触发器 Q 端)或反码(即触发器 Q 端)经多路开关传送到加法器对应位的一个输入端,而开关的控制位由和 yn 的 yn+1 输出译码器产生。当ynyn+1 = 01时,送[x] ;当 ynyn+1 = 10 时,送[-x],即送的反码且在加法器最末位上加“1”。

(4) R保存部分积,它也是具有右移功能的移位寄存器,其符号位与加法器 ∑f 符号位始终一致。

(5) 当计数器 i  =  n +1 时,封锁 LD R0 和 LD R1 控制信号,使最后一位不移位。

执行补码一位乘法的总时间为

  tm = ( n + 1 ) t+ ntr   (2.3.6)

其中 n 为尾数位数,t为执行一次加法操作的时间,t为执行一次移位操作的时间。如果加法操作和移位操作同时进行,则t项可省略。           

【转】原码一位乘和移码一位乘相关推荐

  1. 原码反码补码总说N+1位范围

    问题场景: 最近在看计算机软考的东西,思考了一个问题,对于大牛来说,也许比较幼稚,但是我还是想记录一下. 问题描述: 为什么原码反码补码总说N+1位,用这个前提去讨论它的范围呢?说说N位不是很好嘛? ...

  2. java取二进制其中两位_Java:二进制(原码、反码、补码)与位运算(示例代码)...

    一.二进制(原码.反码.补码) 二进制的最高位是符号位("0"代表正数,"1"代表负数): Java中没有无符号数: 计算机以整数的补码进行运算: 1.  原码 ...

  3. java反码_Java:二进制(原码、反码、补码)与位运算

    一.二进制(原码.反码.补码) 二进制的最高位是符号位("0"代表正数,"1"代表负数): Java中没有无符号数: 计算机以整数的补码进行运算: 1.  原码 ...

  4. (原码反码补码的计算)在一个8位的二进制的机器中,补码表示的整数范围是从_(1)_(小)到_(2)_(大)。这两个数在机器中的补码表示为_(3)_(小)到_(4)_(大)。数0的补码为_(5)_。

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录 题目 分析过 ...

  5. java中补码与位运算,Java:二进制(原码、反码、补码)与位运算

    一.二进制(原码.反码.补码) 二进制的最高位是符号位("0"代表正数,"1"代表负数): Java中没有无符号数: 计算机以整数的补码进行运算: 1.  原码 ...

  6. 二进制原码、反码、补码及符号位进位

    数据在计算机中以二进制补码的形式进行存储和运算. 1.原码 高位为符号位,正数的符号位是0,负数的符号位是1. 以8个bit位表示数据,则 5 = 00000101, -5 = 10000101 2. ...

  7. 原码,反码,补码,移码的概念以及各自的用途和优点

    1.原码 将最高位用作符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式. 例如,假设用8位表示一个数,则+10的原码是00001010,-10的原码是10001010. 直接使 ...

  8. 分数的原码、反码、补码以及整数移码求法

    大多数题目的分数其实都是真分数,换言之就是定点小数的求法,不同的是分母往往为的形式,这为我们化简提供了便利,在这里以为例. (CSDN的公式显示不出来中文,用荧光笔强调了.) 原码 先假设一道十进制的 ...

  9. 计算机组成原理:原码,补码,反码,移码

    无符号数 寄存器的位数反映和决定无符号数的表示范围 比如八位的寄存器就只能储存十进制的0-255 有符号数 机器数与真值 在计算机当中没有硬件表示小数点的位置,而小数点的位置是我们自己约定的, 小数的 ...

最新文章

  1. JAVA CLASSPATH 和PATH的区别 经典
  2. easyui表单网格列错位_《HTML5从入门到精通》——第3章 HTML表格与表单
  3. ReactNative之从HelloWorld中看环境搭建、组件封装、Props及State
  4. python3.6生成exe_Python 3.6打包成EXE可执行程序的实现
  5. C#整理1——进制转换
  6. 英国帝国理工学院招聘研究助理,医学影像分析方向
  7. 【跃迁之路】【736天】程序员高效学习方法论探索系列(实验阶段493-2019.2.26)...
  8. entOS查看系统信息-CentOS查看命令
  9. WebTest of VSTS note 1
  10. vue img标签无图片显示默认图片效果
  11. Java.生成class文件
  12. python学习:包导入教程
  13. Automatic detection and segmentation of optic disc and fovea in retinal images
  14. 开车二十年后得到的真实的26条教训!开车的人一定看看!
  15. x265-1.8版本-common/lowres.cpp注释
  16. [bzoj1812][ioi2005]riv(树上dp)
  17. python-pyqt5-初识-2基本操作
  18. 一个合格程序员应该读过的书
  19. Java-除数为0时会报错的情况(一个无法理解的例外-被除数为0)
  20. 2021美赛MCM\ICM E题

热门文章

  1. 5G应用创新发展策略研究
  2. OO系统分析员之路--用例分析系列(2)--用例的类型与粒度
  3. 500错误及服务器内部错误
  4. 计算机有几个无法修改的磁盘,电脑磁盘名称无法修改的解决方法
  5. 知乎 量子计算机 未来,知乎打脸媒体“无脑吹”昆仑量子计算模拟机
  6. C::Mat取出指定区域的方法
  7. jmeter设置为中文的两种方法
  8. 笔记本做wifi热点
  9. Postman使用技巧之三:用Postman生成Request代码
  10. Windows消息拦截技术的应用(Hook钩子)