2

現在、長整数を計算するソース コードを作成していますが、この計算で間違った答えが返される理由がわかりません。

long l;
//variable l is where you input long, signed int

l *= 0x6869L;
if(l == 0xeaaeb43e477b8487L)
    System.out.println("Correct!");

0xeaaeb43e477b8487 / 0x6869 = 0xFFFFCBBB6D375815 を実行しましたが、0xFFFFCBBB6D375815 * 0x6869 を計算すると 0xEAAEB43E477BA89D が得られます。

なぜこのようなことが起こるのですか?そして、この数学の問題の本当の答えは何ですか?

4

1 に答える 1