C语言程序设计 例题 求详细解释 本人初学者 尽可能详细!例3.2 完全不懂撒意思 请详解!例3.3里结果怎么得来的?a=-1 ?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 07:26:34
C语言程序设计 例题 求详细解释 本人初学者 尽可能详细!例3.2 完全不懂撒意思 请详解!例3.3里结果怎么得来的?a=-1 ?

C语言程序设计 例题 求详细解释 本人初学者 尽可能详细!例3.2 完全不懂撒意思 请详解!例3.3里结果怎么得来的?a=-1 ?
C语言程序设计 例题 求详细解释 本人初学者 尽可能详细!
例3.2 完全不懂撒意思 请详解!
例3.3里
结果怎么得来的?
a=-1 ?

C语言程序设计 例题 求详细解释 本人初学者 尽可能详细!例3.2 完全不懂撒意思 请详解!例3.3里结果怎么得来的?a=-1 ?
整型数所占字节数是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.