c语言赋值过程中类型转换的问题 inta=32767;shortb;b=a+1;请问b的值现在应该是多少?... int a=32767;short b;b=a+1;请问b的值现在应该是多少? 展开 我来答 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 c语言 类型转换 赋值 搜索资料 3个回答 #热议# 什么是淋病?哪些行为会感染淋病? 百度网友2b7192e7b5 2013-01-30 · TA获得超过1917个赞 知道小有建树答主 回答量:496 采纳率:0% 帮助的人:358万 我也去答题访问个人页 关注 展开全部 int可以表示4字节长度,而short只有2字节。每个字节8位,所以short只能表示2的16次方的数字,即这样一个范围:0~65535。当然,这只是unsigned(无符号数)的范围,默认带符号,所以范围是-32768~+32767。你将希望b变成32767 + 1 = 32768?可以这个数字无法再short的范围内表示出来所以b变成了可表示的最小的数:-32768 本回答由提问者推荐 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 l521088816 2013-01-30 · TA获得超过1772个赞 知道小有建树答主 回答量:780 采纳率:0% 帮助的人:1069万 我也去答题访问个人页 关注 展开全部 -32768 更多追问追答 追问 能解释一下为什么么 追答 这是二进制算法在vc++6.0里,short和int貌似是一样的32767: 01111111 11111111+1后就变为10000000 00000000第一位代表正负,所以它是-32768了 追问 10000000 00000000换成十进制不应该是-0么?谭浩强的书里说01111111 11111111加一之后变为1111111111111111呢? 追答 01111111 11111111是反码11111111 11111111才是真正的值负数计算要引入被码、反码概念 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 醉梦玄冰 2013-01-30 知道答主 回答量:70 采纳率:0% 帮助的人:34.8万 我也去答题访问个人页 关注 展开全部 32768.000 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 收起 更多回答(1) 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 广告您可能关注的内容?c语言标准版-资料文档库-全文阅读下载?c语言专题资料下载,不用四处查资料,360文库海量精选?c语言全行业资料覆盖,千万文档即刻下载,享专属优惠!wenku.so.com广告 其他类似问题 2016-05-27 赋值语句的类型转换 1 2014-04-15 C语言问题 数据类型转换 1 2012-03-16 求前辈指教C++中数据类型转换的秘诀 为你推荐: