发布网友 发布时间:2024-10-23 18:00
共5个回答
热心网友 时间:2024-10-23 21:32
主要问题是出在输出控制上,因为你定义的是无符号整数因此16位都用来表示数值,没有符号位,但是你输出处用%d是不对的,%d是用来输出有符号整型数的。因此会将b的值以有符号的形式输出。而65536这个值在16位有符号整数表示中正好是-1.热心网友 时间:2024-10-23 21:30
szy1_119 的回答是正确的。热心网友 时间:2024-10-23 21:26
你可能是用的老版本的c编译程序吧 (turbo2.0吧)热心网友 时间:2024-10-23 21:30
楼上说的很清楚热心网友 时间:2024-10-23 21:31
unsigned int b=65535 换成二进制 是16个1,在带符号位的表示中16个1代表-1.