次のプログラムでは、float
可変印刷負のゼロです。"int"変数が負のゼロを出力しないのはなぜですか?
//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
intsは、通常の表現で負のゼロを持たず、1にはあまり使用されません。 – user2357112
@StoryTellerなぜ答えを投稿しませんか?コメントは答えとすべてのものではない... – juanchopanza