永发信息网

“unsigned int a =65535;int b;b=a;”怎么会出现数据错误,unsigned int 的取值范围不是0到65535吗??

答案:2  悬赏:70  手机版
解决时间 2021-04-14 15:27
  • 提问者网友:了了无期
  • 2021-04-14 05:58
“unsigned int a =65535;int b;b=a;”怎么会出现数据错误,unsigned int 的取值范围不是0到65535吗??
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-04-14 06:29

unsigned int a =65535 a是无符号数,


int b  b是有符号数,取值范围大概是 -32768--32767


你把65535赋给b,当然要出错了


全部回答
  • 1楼网友:鱼芗
  • 2021-04-14 07:55
两个字节就是16位, int是有正负之分的,就是第一位是符号位。 而unsigned int只有正数,只不过它的第一位不是符号位。 2^16=65536,那么它的范围就是0-65536

数据出错误是 b=a a应该转换类型;

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯