为什么定时器的最大定时值为32767
林慧玲
发布于2014-04-09 17:58
2
0
标签:
定时器的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