long a=65536printf( %d,%8ld ,a,a);输出结果是:0.65536 为什么

 我来答
liwenjie420503
2013-06-06
知道答主
回答量:1
采纳率:0%
帮助的人:1474
展开全部
书上指的int整型是两个字节,也就是16个二进制,但65536转化成二进制是1 00000000 00000000有十七位,第一位1就被溢出没了,结果就剩十六个0,当然是0。
实际上现在计算机整型int都是4个字节,能保留32个二进制,65536才17位二进制,就能正确输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江苏华简晟01
2024-10-21 广告
色谱检测服务热线18721007633, 江苏华简晟检测科技是研究性测试服务机构,基于多年的分析表征专业技术积累和辐射全国的服务网络,每年出具数万分技术报告,累计服务客户数千万家。... 点击进入详情页
本回答由江苏华简晟01提供
一管子的忧伤
2012-06-17
知道答主
回答量:6
采纳率:0%
帮助的人:3万
展开全部
长整形赋值给整形,只保留后面十六个比特位。即 1 00000000 00000000,只保留后面十六位,所以是零。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wendy_dan
2012-05-15 · 超过22用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:56万
展开全部
没有啊,
我运行了一下结果是:65536, 65536 第二个结果前面有三个空格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式