32767+1, one more time


所有跟贴·加跟贴·新语丝读书论坛

送交者: JJZ 于 2009-03-12, 12:41:52:

张云楼:
引用:
1,《C程序设计》例3.3说在TurboC上32767+1没有得到32768,得到的是-32768。然后作者说“将变量b改成long型就可以得到预期结果32768了”,敢问
谭教授上机试过没有,我试过了,不行。

codemonkey:
引用:
谭写书的时候,用的int类型肯定是16位的,所以只有15位用来存数据。当然最大的数就是2^15-1,也就是32627了。

2^15 = 32768 (无内容) - JJZ (0 bytes) 2009-03-11, 19:27:37 (305590)
32627+1不管16位或32位都没问题,一群人跟着瞎说八道 (无内容) - 008 (0 bytes) 2009-03-11, 22:26:33

ANSI range of values for int include -32627 to 32767
TurboC上32767+1没有得到32768,应该得到-32627。

谭教授的《C程序设计》印错,

有误请大家核实指正





所有跟贴:


加跟贴

笔名: 密码: 注册笔名请按这里

标题:

内容: (BBCode使用说明