タイトルが間違っているかもしれませんが、どう説明したらいいのかわかりません。
int x=0x4a;
h=!(0x80000000000&(0x39+(~x+1)));
結果は h=0 です。問題は、x が 32 ビットで、0x80000000000 が 32 ビットを超えることです。変数 i を 0x80000000000 に設定して 16 進形式で出力すると、0 が表示されます。その場合、0x80000000000 が 0 になるため、h の結果が 1 にならないのはなぜですか?
私が使った言語はCです