标题:C语言格式符问题
只看楼主
gggui
Rank: 2
来 自:中国海南
等 级:论坛游民
帖 子:33
专家分:22
注 册:2010-4-24
结帖率:100%
已结贴  问题点数:20 回复次数:7 
C语言格式符问题
我是C语言初学者,在书中看到下例不明白
int i=-1
printf("%d,%o",i,i)
结果输出为-1,177777   为什么不是-1,-01(-1的八进制表示不是-01吗)177777是怎么来的看不明白,哪位大虾解释一下
搜索更多相关主题的帖子: C语言 符问题 格式 
2010-04-29 08:23
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
得分:2 
在计算机系统中,数值用补码形式来存储
楼主可以查一下补码相关资料
2010-04-29 08:39
gggui
Rank: 2
来 自:中国海南
等 级:论坛游民
帖 子:33
专家分:22
注 册:2010-4-24
得分:0 
回复 2楼 ldg628
-1的补码是16个1111111111111111,那怎么又输出177777呢?能讲清楚点吗?
2010-04-29 09:56
chengstone
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:562
专家分:226
注 册:2004-4-3
得分:10 
一:
按照我说的步骤来,点击计算机左下角的 开始->程序->附件->计算器
打开以后点击计算器程序的菜单项 查看->科学型
然后在面板中选择八进制,输入177777
然后在面板中选择二进制,看到了么 16个1

二:你知道-1的补码是多少就好办了,会二进制转十进制么?如果会的话学习一下二进制转八进制,你将得到正确的答案了。

[ 本帖最后由 chengstone 于 2010-4-29 10:56 编辑 ]

qq:69558139
2010-04-29 10:06
守候
该用户已被删除
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-29 10:09
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
得分:3 
回复 3楼 gggui

1 111 111 111 111 111
1  7   7   7   7   7

16个1的八进制表示就是177777
2010-04-29 10:13
wangsx
Rank: 1
等 级:新手上路
帖 子:13
专家分:1
注 册:2008-12-3
得分:0 
学习了,
2010-04-29 10:17
gggui
Rank: 2
来 自:中国海南
等 级:论坛游民
帖 子:33
专家分:22
注 册:2010-4-24
得分:0 
谢谢大家
2010-04-29 10:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-304805-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.210355 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved