掛けて0x1d400 * 0xE070381D
います。
電卓でこれを行うと、結果は0x00019A4D26950400
これをcppで実装しようとしたとき、これが私が持っているものです。
long long d;
d = 3765450781 * 1d400;
このコードの結果はd = 0x26950400
. これは下位 4 バイトだけです。他はどうなりましたか?
上位 4 バイトを分離0x00019A4D
して別の変数に保存しようとしています。これはどのように行うことができますか?
乗算で 8 バイトすべてを表示できた場合、上位 4 バイトを分離するために考えていたことは次のとおりです。
d = d & 0xFF00; //0xFF00 == (binary) 1111111100000000
d = d>>8;
これは機能しますか?