发布网友 发布时间:2023-04-29 02:46
共5个回答
热心网友 时间:2023-08-05 03:57
是这样的:由于定点小数指明了范围是纯小数即(-1~1)的(补码有个-1)。在2个小数做加法时,有可能出现超出1的情况。比如0.5+0.9=1.4。所以就要用MOD2的方法使其还在(纯)小数的范围内。可能会想,那要是不超过范围呢?很简单不超过范围的时候MOD2以后还是原数。为了确保其范围还是小数范围内,同时也为了操作的统一性,所以有MOD2操作。热心网友 时间:2023-08-05 03:58
小数:[A]补+[B]补=[A+B]补(mod2)
这里的 mod2 要怎么处理? 是什么意思?
--------------
mod2,是说:在定点小数中,小数点的位置。
mod2,是把小数点,固定在:符号位和数值位,之间。
此时,全部数值位,都是小数。
这个补码的数值范围是:-1 ~ +127/128 (约为+1)。
即从-1 到+1。
这就是“按 2 取模”。也就是 mod2 。
--------------
如果,小数点向右挪一位,补码中,就有了一位整数。
此时的数值范围是:-2 ~ 约为+2。
这就是“按 4 取模”。
热心网友 时间:2023-08-05 03:58
所谓的“模、MOD”,是计算机专业胡编乱造的词汇。
在数学中,它就是常说的【计数周期】。
把周期,称为“模”,并无新意。
只能从中看出,计算机专家,数学底子很差,常识都不懂。
钟表时针转一圈,周期是 12,计算机专业就说是“MOD 12”。
时针,倒拨 3 小时,可以用正拨 9 小时代替。
算法: 9 = -3 + 12。
----------------------
2 位 10 进制数,计数周期是 10^2 = 100。
那么,-1 可以就可以用 +99 代替:
24 - 1 = 23,
24 + 99 = (一百) 23,
替换的算法: 99 = -1 + 100。
----------------------
8 位 2 进制数,计数周期是:2^8 = 256。
(周期 = 2^n,在计算机专业,就称为“按 2 取模”)。
此时,-1 就可以用 255 = 1111 1111 代替。
同理,-2 则可用 254 = 1111 1110 代替。
。。。
这些代替负数的正数,就称为“负数的补码”。
使用了补码,计算机中,就没有负数了,也就没有了减法运算。
由此,就简化了硬件。
----------------------
求负数的补码,计算公式是:
补码=负数+周期。
零和正数,不存在补码,必须直接进行计算。
也有人乱讲:零和正数,本身就是补码。
----------------------
八位定点整数的补码,其小数点,位于数值位的末尾。
其表示范围:-128~+127。
八位定点小数的补码,小数点左移七位,移到符号位和数值位之间。
数值范围,就是原整数的 1 / 2^7 = 1/128。
即:-1 ~ +(1-1/128)。
热心网友 时间:2023-08-05 03:59
(mod2)的意思是,计算结果的整数位,也就是符号位,可能产生进位,化成十进制后除2取余的结果作为计算结果的最终符号位。 其实可以这样记:对加减法而言,补码运算,符号位带入运算,符号位产生的进位自然丢掉做为结果符号。 我是这样理解,希望对你有帮助!热心网友 时间:2023-08-05 04:00
mod是取余数的操作符,比如3除以2的余数是1,相当于3 mod 2 = 1