私が知らないことが明らかでないことを確認するためだけに、C++ のインタビューの質問をたくさん行っています。これまでのところ、これを除いて、まだ知らなかったことは何も見つかりませんでした:
long value;
//some stuff
value &= 0xFFFF;
問題は、「このコードの何が問題なのか?」です。そして、それがターゲットアーキテクチャと関係があることを示唆しています.
答えが「値が初期化されていない」というだけでない限り、問題はありません。私が知る限り、値の最下位 2 バイトをマスクしているだけでlong
、少なくとも 2 バイトであることが保証されているため、問題はありません。
long
ターゲット アーキテクチャでは 2 バイトしかない可能性があり、符号ビットを失っている可能性がありますか? int
それとも、0xFFFF はint
2 バイトしかないのでしょうか?
前もって感謝します。