首页  /  编程问答  /  什么是模?  /  

什么是模?

“模”的概念:

“模”是指一个计量系统的计数范围。比如,时钟的计量范围是0至11,模=12。计算机也可以看成一个计量机器,因为计算机的字长是指定的,即存储和处理的位数是有限的,因此它也有一个计量范围,即存在一个“模”。因此,表示n位的计算机计量范围是0至2n-1,模=2n

“模”的实质:

实质上,“模”就是计量器“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算。

举例:

假设当前时间时针指向十点,那么什么时候时针会指向八点呢?

第一种情况:10-2=8,倒退两小时时针会指向八点。

第二种情况:10+10=8,前进十小时时针会指向八点。

因为在时钟运算中,模=12,所以,当超过12时就会重新开始计量。也可以理解为,在某种意义上,10-2和10+10的结果相同,它们都使得时针会指向八点。

此时我们发现2+10=12,也就是说,对“模”而言,2和10互为补数。同理,计算机与之相同。n位的计算机,假设n=8,那么最大的数为11111111,若加1则得到100000000,因为只有8位,所以最高位省略,得到00000000,又开始了新的轮回。

这样做的好处就是可以把减法问题转换成为加法问题,只需要把减数用相对应的补数表示就可以进行运算,这就是补码思想。



本文固定URL:https://www.dotcpp.com/qa/40

编程杂谈
编程基础
知识答疑