C语言中,整形常量中的八进制数和十六进制数有有符号数么?为什么十进制的有?

 我来答
慕淑敏宾汝
2020-01-24 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1062万
展开全部
都有的一般,有的计算机存储是最高为表示符号位,如果说八进制的01234是正数而0123456是负数,则该机器应该是16位的机器,因为八进制的01234二进制位1010011100,八进制的0123456二进制为1010011100101110,前者的最高为(第十六位是0),后者最高位(第十六位是1),符号位0为正数,1为负数,同理,十六进制中的0x1234和0x8008是一样的道理。
皇甫翠花项午
2020-03-31 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:24%
帮助的人:1194万
展开全部
c语言本身并没有规定int的具体大小,只规定至少用2个字节表示(16位)。c语言也没有定义负整型的溢出处理方法。
不过看你的题目,大概是想考察这个意思吧
int---16位,取值范围为-32768~32767.,32767+1肯定溢出了,溢出结果和处理unsigned类型一样,因此应为-32768
补码1000000000000000,表示的是-32728。
-32728的原码是1000000000000000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式