黑马程序员技术交流社区

标题: 关于原码反码补码问题 ,很是疑惑 [打印本页]

作者: smilejoke    时间: 2015-8-22 09:21
标题: 关于原码反码补码问题 ,很是疑惑

#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    short a=1000000000000000;
    short b=a-1;
    short c=1000000000000000+0000000000000001;
   
   
    printf("%hd\n",a);
    printf("%hd\n",b);
    printf("%hd\n",c);
    return 0;
}-32768
32767
-32767

疑惑如下:
1:short a=1000000000000000这是源码还是补码?
2:运算的时候是源码运算还是补码运算?
3:输出的时候。是输出的源码对吗?
作者: 你是我的小苹果    时间: 2015-8-22 10:51
1.计算机是用补码来存储数据的,a肯定是补码,如果a是源码的话那应该是0啊。

2.既然计算机用补码存储数据,那运算的时候肯定是补码了。

3.输出的是十进制数啊,-32768, 32767, -32767这不明显是十进制数嘛。

不懂的可以再问




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2