为什么定时器的最大定时值为32767

定时器的PT输入端为一个双字节的16位字吧?
那16位的话,最大值不是应该65536啊,怎么会是32767?

问题补充:
意思就是说最高位为正负的符号位,对吗?
是不是像8位 32位的都这样,最高位为正负符号位?

最佳答案

1、首先,我们来研究一下,最大整数01...1后面15个1,其值=2^14+2^13+...+2^0根据等比数例求和公式{an},sn=a1+a2+...+ansn=a1(1-q^n)/(1-q)显然 此刻 a1=1, q=2, n=15所以2^15-1但是总共能表达 2^16-1个数。
2、计算机用二进制表示负数是用的“补码法”,做法是正数按原码,负数用其相反数的反码加一。这种结果用-32768代替了“-0”,可以使符号位能与有效值部分一起参加运算,从而简化运算规则;同时使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。举例:3的码值是 00000011,-3则为:11111100+1= 1111110132767的码值是01111111,11111111(15个1),-32767是10000000,00000000+1=10000000,00000001-32768是01111111,11111111+1=10000000,00000000

提问者对于答案的评价:
嗯 谢谢了

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc293183.html

(2)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午1:08
下一篇 2020年10月31日 下午1:08

相关推荐