关于C语言问题的来、进制之间
答案:3 悬赏:40 手机版
解决时间 2021-05-05 19:35
- 提问者网友:鐵馬踏冰河
- 2021-05-05 02:13
-1在内存单元中(补码)形式为:
a=-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
则:int a=-1;
printf(”%d,%o”,a,a);
的输出为:-1,177777
最佳答案
- 五星知识达人网友:醉吻情书
- 2021-05-05 02:52
1在内存中是16个1,
o% 是以8进制输出的
2进制转化为8进制 从右起每3位转化一个8进制,最前面不足
3位的补0
001 111 111 111 111 111
得 1 7 7 7 7 7
即输出为结果为177777
全部回答
- 1楼网友:荒野風
- 2021-05-05 05:25
你在内存以补码的方式存的,以10进制输出当然是-1,没问题,关键是在转换为八进制输出是,前面的-1丢掉了,然后就变成了
- 2楼网友:末日狂欢
- 2021-05-05 03:53
八进制是不能表示为负数的,至于为什么为177777,-1在内存中是16个1,十六进制为ffff,而如果把这个数八进制表示就是177777,如你所见。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
总是流鼻血是什么情况 |
谁演花木兰啊? |
苹果平板电脑多少钱? |
坐标点的集合如何表示? |
海林市工程机械配件加工厂在哪里啊,我有事要 |
快速瘦腿的方法(除药物外) |
QQ华夏估计几天能够点亮? |
爱能让你窒息吗? |
sis315显卡 |
买鞋在哪家网店会比较好? |
最适合居住的中国城市 |
谁有魔界2的激活码,请送我一个好吗? |
新区邮政支局这个地址在什么地方,我要处理点 |
穿越火线鬼跳教程 |
帆布鞋有哪些比较好看的系法? |
推荐资讯