int
2 つの 32 ビット整数 ( ) を 1 つの 64 ビット整数にlong
、またはその逆に変換するにはどうすればよいですか?
質問する
15004 次
2 に答える
48
long c = (long)a << 32 | b & 0xFFFFFFFFL;
int aBack = (int)(c >> 32);
int bBack = (int)c;
Java では、それほど多くの括弧や逆計算のマスキングは必要ありません。
于 2012-06-26T20:33:23.007 に答える
2
Ints to longs:
long c = ((long)a << 32) | ((long)b & 0xFFFFFFFFL);
読者が逆の計算を実行するための演習として残しておきます。しかし、ヒントは次のとおりです。より多くのビットシフトとビットマスクを使用します。
(T.マードックによるコメントに従って編集)
于 2012-05-21T13:28:56.410 に答える