【发布时间】:2018-01-29 02:42:35
【问题描述】:
在下面的程序中,float 变量打印负零。
//g++ 5.4.0
#include <iostream>
int main()
{
float val = 0;
val = -val;
std::cout<<val<<std::endl;
}
输出:
-0
但是,在下面的代码中
//g++ 5.4.0
#include <iostream>
int main()
{
int val = 0;
val = -val;
std::cout<<val<<std::endl;
}
输出:
0
打印正零。
为什么int 变量不打印负零?
【问题讨论】:
-
因为您的系统上的整数表示没有负零?谁说应该有负零?
-
整数在通常的表示中没有负零,它们也没有太多用处。
-
@StoryTeller 为什么不发布答案?评论不是为了答案等等......
-
@juanchopanza - 这是一个答案吗?我不知道OP的平台可以回答。
-
为什么投反对票?这很清楚,有示例代码和记录的输出。而且不是那么明显。
标签: c++ types floating-point int