文章目录:
如何计算负数乘法?
两个负数相乘,先看符号,如果两个数的符号都是正号或负号,那么这两个数的乘积就是正数;如果这两个数中有一个是负数,那么这个乘积就是负数。这是先判断符号,符号判断好了,就把这两个数相乘。
例:(-2)×(-5)=10
(-3)× 4 =-12
一个数和0相乘,仍旧的这个数
例: 0 ×(-12)=0
负数乘除法怎么算?
负数的乘法/除法:先判断符号,然后将所有数当成正数一样相乘/除法。
判断符号的方法:负负得正,正负得负。有偶数个负号结果则正,奇数个负号结果则为负。
负数乘法:负数1×负数2=(负数1×负数2)=正数,负数×正数=-(正数×负数)=负数。
如:-2x(-5) =+10,-2x(-5)x(-1) = -10。
基本信息
负数都比零小,则负数都比正数小。零既不是正数,也不是负数。
负数中没有最小的数,也没有最大的数。
分数也可做负数,如:-2/5。
负数的平方根用虚数单位“i”表示。(实数范围内负数没有平方根)
最大的负整数为:-1。
没有最小的负数。
[编程]关于汇编语言的负数的表示以及运算
数在计算机中是以二进制形式表示的。
数分为有符号数和无符号数。
原码、反码、补码都是有符号定点数的表示方法。
一个有符号定点数的最高位为符号位,0是正,1是副。
以下都以8位整数为例,
原码就是这个数本身的二进制形式。
例如
0000001 就是+1
1000001 就是-1
正数的反码和补码都是和原码相同。
负数的反码是将其原码除符号位之外的各位求反
[-3]反=[10000011]反=11111100
负数的补码是将其原码除符号位之外的各位求反之后在末位再加1。
[-3]补=[10000011]补=11111101
一个数和它的补码是可逆的。
为什么要设立补码呢?
第一是为了能让计算机执行减法:
[a-b]补=a补+(-b)补
第二个原因是为了统一正0和负0
正零:00000000
负零:10000000
这两个数其实都是0,但他们的原码却有不同的表示。
但是他们的补码是一样的,都是00000000
特别注意,如果+1之后有进位的,要一直往前进位,包括符号位!(这和反码是不同的!)
[10000000]补
=[10000000]反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符号位变成了0)
有人会问
10000000这个补码表示的哪个数的补码呢?
其实这是一个规定,这个数表示的是-128
所以n位补码能表示的范围是
-2^(n-1)到2^(n-1)-1
比n位原码能表示的数多一个
又例:
1011
原码:01011
反码:01011 //正数时,反码=原码
补码:01011 //正数时,补码=原码
-1011
原码:11011
反码:10100 //负数时,反码为原码取反
补码:10101 //负数时,补码为原码取反+1
0.1101
原码:0.1101
反码:0.1101 //正数时,反码=原码
补码:0.1101 //正数时,补码=原码
-0.1101
原码:1.1101
反码:1.0010 //负数时,反码为原码取反
补码:1.0011 //负数时,补码为原码取反+1
总结:
在计算机内,定点数有3种表示法:原码、反码和补码
所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
1、原码、反码和补码的表示方法
(1) 原码:在数值前直接加一符号位的表示法。
例如: 符号位 数值位
[+7]原= 0 0000111 B
[-7]原= 1 0000111 B
注意:a. 数0的原码有两种形式:
[+0]原=00000000B [-0]原=10000000B
b. 8位二进制原码的表示范围:-127~+127
2)反码:
正数:正数的反码与原码相同。
负数:负数的反码,符号位为“1”,数值部分按位取反。
例如: 符号位 数值位
[+7]反= 0 0000111 B
[-7]反= 1 1111000 B
注意:a. 数0的反码也有两种形式,即
[+0]反=00000000B
[- 0]反=11111111B
b. 8位二进制反码的表示范围:-127~+127
3)补码的表示方法
1)模的概念:把一个计量单位称之为模或模数。例如,时钟是以12进制进行计数循环的,即以12为模。在时钟上,时针加上(正拨)12的整数位或减 去(反拨)12的整数位,时针的位置不变。14点钟在舍去模12后,成为(下午)2点钟(14=14-12=2)。从0点出发逆时针拨10格即减去10小 时,也可看成从0点出发顺时针拨2格(加上2小时),即2点(0-10=-10=-10+12=2)。因此,在模12的前提下,-10可映射为+2。由此 可见,对于一个模数为12的循环系统来说,加2和减10的效果是一样的;因此,在以12为模的系统中,凡是减10的运算都可以用加2来代替,这就把减法问 题转化成加法问题了(注:计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法)。10和2对模12而言互为补数。
同理,计算机的运算部件与寄存器都有一定字长的限制(假设字长为8),因此它的运算也是一种模运算。当计数器计满8位也就是256个数后会产生溢 出,又从头开始计数。产生溢出的量就是计数器的模,显然,8位二进制数,它的模数为28=256。在计算中,两个互补的数称为“补码”。
2)补码的表示: 正数:正数的补码和原码相同。
负数:负数的补码则是符号位为“1”,数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。
例如: 符号位 数值位
[+7]补= 0 0000111 B
[-7]补= 1 1111001 B
补码在微型机中是一种重要的编码形式,请注意:
a.采用补码后,可以方便地将减法运算转化成加法运算,运算过程得到简化。正数的补码即是它所表示的数的真值,而负数的补码的数值部份却不是它所表示的数的真值。采用补码进行运算,所得结果仍为补码。
b.与原码、反码不同,数值0的补码只有一个,即 [0]补=00000000B。
c.若字长为8位,则补码所表示的范围为-128~+127;进行补码运算时,应注意所得结果不应超过补码所能表示数的范围。
原码、反码、补码,计算机中负数的表示?
一:对于正数,原码和反码,补码都是一样的,都是正数本身。
对于负数,原码是符号位为1,数值部分取X绝对值的二进制。
反码是符号位为1,其它位是原码取反。
补码是符号位为1,其它位是原码取反,未位加1。
也就是说,负数的补码是其反码未位加1。
移码就是将符号位取反的补码
二:在计算机中,实际上只有加法运算,减法运算也要转换为加法运算,
乘法转换为加法运算,除法转换为减法运算。
三:在计算机中,对任意一个带有符号的二进制,都是按其补码的形式进行运算和存储的。之所以是以补码方式进行处理,而不按原码和反码方式进行处理,是因为在对带有符号位的原码和反码进行运算时,计算机处理起来有问题。
而按补码方式,一方面使符号位能与有效值部分一起参加运算,从而简化运算规则。另一方面使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计
四:补码加、减运算公式
1):补码加法公式
[X+Y]补
=
[X]补
+
[Y]补
2):补码减法公式
[X-Y]补
=
[X]补-[Y]补
=
[X]补
+
[-Y]补
已知[+Y]补求[-Y]补的规则是全部位(含符号位)按位取反后再加1。
五:由补码求原码
已知一个数的补码,求原码的操作分两种情况:
1.
如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
2.
如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1;其余各位取反,然后再整个数加1。
===========================按你的要求以8位二进制进行计算=======
以8位二进制操作为例,其运算取值范围是-128~127。
那么综上所述,我们可以得到-126-100,可以看成(-126)+(-100),目的是使减法操作变为加法
-126
-
1111
1110
-反
1000
0001
-补
1000
0010
100
-
0110
0100
-
负数求补
1001
1011+1
-
负补
1001
1100
做补码相加得
-126补+(-100)
补-
1000
0010补
+
1001
1100补
-1
0001
1110补
-自然丢弃超出
0001
1110补
由补求原得到
0001
1110补
-
0001
1110原
得到的结果为00011110,如果两个负数相加如果溢出,那么结果一定是正数,由此可知计算结果溢出。
负数的加减乘除怎么算
1、负数的加法:负数的加法计算方法与正数的加法方法一样,只是在结果前加上负号就可以了。如:(-2)+(-3)=-(2+3)=-52。
2、负数的减法:简单的说就是,减去一个负数就是相当于加上那个数的正数。如:-2-(-3)=-2+3=3-2=1。或者:-3-(-2)=-3+2=2-3=-13。
3、负数的乘法:运算法则和正数的乘法一样,只是要考虑符号问题。若两个数符号相同则结果为正数,若两个数符号相反则结果为负数。如:(-2)*(-3),两个数都是负数,符号相同,所以结果为正数,也就是6。若:(-2)*3 或 2*(-3),两个数符号不同,所以结果为负数,也就是-6.4。
4、负数的除法:方法与负数的乘法一样,先按照两个数都是正数做除法,然后在判断符号。若两个数符号相同则结果为正数,若两个数符号相反则结果为负数。如:(-6)/(-2),两个数都是负数,符号相同,所以结果为正数,也就是3。若:(-6)/2 或 6/(-2),两个数符号不同,所以结果为负数,也就是-3。
扩展资料:
负数的性质
负数都比零小,则负数都比正数小。零既不是正数,也不是负数。则-a0(+)a
负数中没有最小的数,也没有最大的数。
去除负数前的负号等于这个负数的绝对值。
如-2、-5.33、-45等:-2的绝对值为2,-5.33的绝对值为5.33,-45的绝对值为45等。
分数也可做负数,如:-2/5
负数的平方根用虚数单位“i”表示。(实数范围内负数没有平方根)
最大的负整数为:-1
没有最小的负数。
参考资料来源:百度百科-负数
-128~127。那么综上所述,我们可以得到-126-100,可以看成(-126)+(-100),目的是使减法操作变为加法-126-11111110-反10000001-补10000010100-01100100-负数求补10011011+1-负补1001
反码=原码 补码:0.1101 //正数时,补码=原码 -0.1101 原码:1.1101 反码:1.0010 //负数时,反码为原码取反 补码:1.0011 //负数时,补码为原码取反+
为模的系统中,凡是减10的运算都可以用加2来代替,这就把减法问 题转化成加法问题了(注:计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法)。1