java 把64位long,轉成2個32位的Int,再回轉成long
java中long是64位,正好可以轉成2個32位的int。
項目中正好 要做這種轉換,所以,記錄一下轉換過程。
簡單事例:
long i = 55; int i1 = (int) i; int i2 = (int) (i << 32); System.out.println("i1:" + i1 + ";i2:" + i2); long l1 = (i2 & 0x000000ffffffffL) << 32; long l2 = i1 & 0x00000000ffffffffL; long l = l1 | l2; System.out.println("l:" + l);
結果:
i1:55;i2:0 l:55
注意:傳遞時,big-endian和little-endian問題
最後更新:2017-04-03 14:54:04