C语言中,0有几种表示方法?
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/03 07:09:57
C语言中,0有几种表示方法?
据说好像是可以写成两种样是不是?
据说好像是可以写成两种样是不是?
![C语言中,0有几种表示方法?](/uploads/image/z/6859613-29-3.jpg?t=C%E8%AF%AD%E8%A8%80%E4%B8%AD%2C0%E6%9C%89%E5%87%A0%E7%A7%8D%E8%A1%A8%E7%A4%BA%E6%96%B9%E6%B3%95%3F)
只是用原码表示的时候0有两种表示
(假设用4字节表示)
+0:00000000 00000000 00000000 00000000
-0:10000000 00000000 00000000 00000000
因为原码的最高为符号位:0表示正,1表示负
而C语言的编译其里面0都是用补码表示的
补码的0只有一种表示:
00000000 00000000 00000000 00000000
你可以这样测试下
void main()
{
int a=-0;
int b=+0;
}
看看a和b的内存表示,全部是0;
关于原码,反码,补码如果不懂可以自己找找资料.
(假设用4字节表示)
+0:00000000 00000000 00000000 00000000
-0:10000000 00000000 00000000 00000000
因为原码的最高为符号位:0表示正,1表示负
而C语言的编译其里面0都是用补码表示的
补码的0只有一种表示:
00000000 00000000 00000000 00000000
你可以这样测试下
void main()
{
int a=-0;
int b=+0;
}
看看a和b的内存表示,全部是0;
关于原码,反码,补码如果不懂可以自己找找资料.