在C语言中这道题怎么算
发布网友
发布时间:2024-09-27 07:16
我来回答
共3个回答
热心网友
时间:2024-09-29 17:58
结果是"编译无法通过"
原因:使用了未定义的函数print()
把print()改成printf()
在32位系统上结果如下:
-2 37777777776
7d 4294967283
------------------------------------------
-2在int32下存储(补码)为:0xFFFFFFFE(就是31个'1',1个'0')
以%d 输出没什么好说的了,以%o输出,即从右边开始,每3位二进制组成1个八进制数,一共32位二制数,则可以算出是11个八进制数字,
最右端为"110"为八进制6,其它29位"1"可以得出9个八进制"7",最右边的两位"1",可以得出八制数"3":377777776
125二进制:0111 1101B = 7d H
-13在int32下存储为:0xFFFFFFF3
以无符号整数输出就是:4294967283
典型的进制转换及数据在计算机中的存储/处理方式问题.
热心网友
时间:2024-09-29 17:58
楼主并不是使用了未定义的函数,只是他写错了而已,
楼主的本意并非需要定义一个函数:
那print 的确是错了,
printf函数是一个标准库函数,可以直接调用,至于结果你自己试试就知道了~
热心网友
时间:2024-09-29 17:58
printf应该是打错了吧?
我算的结果是:
-2 2
7C 13