| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 910 人关注过本帖
标题:八进制转化成十进制为什么是37777777777
只看楼主 加入收藏
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:5 
八进制转化成十进制为什么是37777777777
int类型是4个字节,也就是有4个8位,如1的存储为:
0000 0000 0000 0000 0000 0000 0000 0001
负数的存储是最高位为1,其余位为其正数(不含最高位)的二进制补码加1。
-1就是(下面都是4位一块,共8个块,我省略为4个块):
-1的正数1:
0000 0000 ... 0000 0001
补码:
0111 1111 ... 1111 1110
加1:
0111 1111 ... 1111 1111
最高位为1:
1111 1111 1111 1111 1111 1111 1111 1111
十六进制肯定是8个F没问题。
八进制就是从右边开始3位一组,转换成十进制数字,最高位不够3位补0:
011 111 111 111 111 111 111 111 111 111 111
3   7   7   7   7   7   7   7   7   7   7
楼主你看看答案是不是10个7呢?
如果是16位编译器,就是
001 111 111 111 111 111
1   7   7   7   7   7
搜索更多相关主题的帖子: 十进制 八进制 十六进制 
2012-08-17 21:21
justNPC
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:311
注 册:2012-8-11
收藏
得分:5 
lz你这是想干嘛?
你求了-1的补码 再把这个补码转换为8进制  然后呢?
2012-08-17 22:26
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
按书上的转换方法011 111 111 111 111 111 111 111转换成十进制 3 7 7 7 7 7 7 7好像不合适!!!
2012-08-18 11:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
是10个7呀,不要想坏脑。

授人以渔,不授人以鱼。
2012-08-18 11:23
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
回复 4楼 TonyDeng
八进制111转换成十进制应该是1+8+64=73啊!
2012-08-18 11:31
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
啊哈哈!突然明白……
2012-08-18 11:34
快速回复:八进制转化成十进制为什么是37777777777
数据加载中...
 
   



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

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