0

タイプ DWORDLONG (WIN32 で符号​​なし 64 ビット int として定義) からタイプ jlong​​ (符号付き 64 ビット long 値として JNI で定義) を返そうとしています。

キャストを入力するだけです:

DWORDLONG dwl = 1000000000000;
jlong n = (jlong) dwl;

操作が定義されていないため、値を変更します。

では、以前と同じ数値を維持しながら、unsigned long を signed long に変換するにはどうすればよいでしょうか。

アップデート

私のテストをすり抜けたポインター逆参照エラーが原因で、問題が発生していたようです。キャストは値を変更していませんでした。コメント/回答してくれたすべての人に感謝します.少なくとも今では、これが完全に合法的な操作であることを知っています.

4

1 に答える 1