社区
C语言
帖子详情
下面的程序输出的结果为
honbaa
2010-05-26 02:43:38
#include "stdio.h"
main()
{
int a=-1;
printf("%d,%o,%u\n",a,a,a);
}
怎么算的啊,-1知道。177777是八进制,怎么算出来的呢。65535这个结果,也不知道怎么算出来的。希望得到详细的过程
...全文
103
9
打赏
收藏
下面的程序输出的结果为
#include "stdio.h" main() { int a=-1; printf("%d,%o,%u\n",a,a,a); } 怎么算的啊,-1知道。177777是八进制,怎么算出来的呢。65535这个结果,也不知道怎么算出来的。希望得到详细的过程
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cattycat
2010-05-26
打赏
举报
回复
%d是-1,%u是32位全1的,%o八进制就是37777777777。实际上还是32位全1.
你可以在你的电脑附件的计算器上对照一下。
honbaa
2010-05-26
打赏
举报
回复
计算机是按照补吗输出的吗
renbin5566
2010-05-26
打赏
举报
回复
先转换成把绝对值转换成二进制。。再按位取反,,末尾加1.再转换成八进制或者十进制
lirg8405
2010-05-26
打赏
举报
回复
如果算了无符号数,那么就是
11111111 11111111 11111111 11111111 = 2^32-1
lirg8405
2010-05-26
打赏
举报
回复
32位的:
10000000 00000000 00000000 00000001
11111111 11111111 11111111 11111110
11111111 11111111 11111111 11111111
37777777777
Normandie007
2010-05-26
打赏
举报
回复
[Quote=引用 2 楼 logic0 的回复:]
如果是正数的话,三码一致,直接转换,但是由于正数和负数在原码、反码、补码转换上的差别,所以按照正数的求解思路去对负数进行求解是不对的。
正确的方法是:首先将负数用补码表示出来,然后再转换成八进制和十六进制(补码)即可。
[/Quote]
正解
wade_2003
2010-05-26
打赏
举报
回复
LZ去看看单片机中关于十进制,十六进制,八进制的东西撒
非兔子_Logic0
2010-05-26
打赏
举报
回复
如果是正数的话,三码一致,直接转换,但是由于正数和负数在原码、反码、补码转换上的差别,所以按照正数的求解思路去对负数进行求解是不对的。
正确的方法是:首先将负数用补码表示出来,然后再转换成八进制和十六进制(补码)即可。
lirg8405
2010-05-26
打赏
举报
回复
假设了8位,那么
10000001
11111110
11,111,111
最后就是377
微信小
程序
系统教程C#版[3/3阶段]_微信小
程序
电商系统
微信小
程序
系统教程[初级阶段],微信小
程序
0基础学起,讲解微信小
程序
开发的基础知识。 微信小
程序
系统教程共有“微信小
程序
系统教程[初级阶段]”、“微信小
程序
系统教程[中级阶段]——核心技术”、“微信小
程序
...
写出
下面
程序
输出
结果
数据代码2 代码如下: #include int main(){ int x=1, y=0 ,a=0, b=0; switch(x) { case 1: //此时X=1,进入case1; switch(y) { case 0:a++;//此时y=0,进入case0;,a++后break跳出switch(y) case 1... } 运行结果如下:
下列java
程序
输出
结果为_下列
程序
的
输出
结果为() public class Test { public static void main(String[] args) { int i=0; for...
【其它】请提交实验五压缩包【判断题】线程t1中执行t2.sleep(5000)语句,则线程t2休眠5s【判断题】Java源
程序
中的文件名一定要和文件中某个类的名称一致() (5.0分)【单选题】下列
程序
的
输出
结果为() public class ...
c语言 void main
输出
,执行
下面
程序
中的
输出
语句后,
输出
结果是______. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+...
A、运行
程序
段后
输出
0B、运行
程序
段后
输出
1C、
程序
段中的控制表达式是非法的D、
程序
段循环无数次[单选题]
下面
程序
段的
输出
结果是________.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("...
下面
程序
的
输出
结果是( )
#include <stdio.h> int main() { int i, n = 0; float x = 1, y1 = 2.1 / 1.9, y2 = 1.9 / 2.1; for ( i = 1; i < 22; i++) x = x * y1;...答案:
程序
无线循环 解析:浮点类型不能精确相等 ...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章