C语言程序设计 例题 求详细解释 本人初学者 尽可能详细!

学习 时间:2026-04-02 16:37:58 阅读:4306
C语言程序设计 例题 求详细解释 本人初学者 尽可能详细!例3.2 完全不懂撒意思 请详解!例3.3里结果怎么得来的?a=-1 ?

最佳回答

安静的早晨

自信的奇异果

2026-04-02 16:37:58

整型数所占字节数是4字节,即16位二进制数。根据排列组合,16位二进制数的可能取值,即表示范围是65536,就是2的16次方。
整型数又分为有符号和无符号,有符号数则可以表示负数,所以范围是[-32768, 32767],就是将65536分为负数和非负数两半;无符号则只能表示非负数,所以范围是[0, 65535]。
题中定义了无符号整型数a=65535,转化成二进制是1111 1111 1111 1111,将它以%d的形式输出,就是把它以有符号整型输出,有符号整型规定最高位的权值为负,所以把1111 1111 1111 1111转化为有符号整型就是-1,就是-2^15+2^14+2^13+2^12+…+2^0 = -1。

最新回答共有2条回答

  • 机智的流沙
    回复
    2026-04-02 16:37:58

    整型数所占字节数是4字节,即16位二进制数。根据排列组合,16位二进制数的可能取值,即表示范围是65536,就是2的16次方。整型数又分为有符号和无符号,有符号数则可以表示负数,所以范围是[-32768, 32767],就是将65536分为负数和非负数两半;无符号则只能表示非负数,所以范围是[0, 65535]。题中定义了无符号整型数a=65535,转化成二进制是1111 1111 1111 1111,将它以%d的形式输出,就是把它以有符号整型输出,有符号整型规定最高位的权值为负,所以把1111 1111 1111 1111转化为有符号整型就是-1,就是-2^15+2^14+2^13+2^12+…+2^0 = -1。

上一篇 McDonald's sells more than 100 hamburgers every second------

下一篇 装修墙面用手绘壁画好还是墙贴好