GCC の定義済みマクロには が含まれていますが、含まれて__INT8_MAX__
いません__INT8_MIN__
。
INT8_MIN
で定義されstdint.h
てい(-__INT8_MAX - 1)
ます。
GCC は、システムが 2 の補数であると想定していますか? は、1 の補数システムと 2 の補数システムの両方で機能するため(INT8_MAX +1)
、より良い定義方法だと思います。最適なのはコンパイラ提供のです。INT8_MIN
__INT8_MIN__
gcc が提供しないのはなぜ__INT8_MIN__
ですか?
私は実際に 2 の補数を使用しないシステムを持っていないので、使用に問題はありませんが、ただ興味があります。