簡體   English   中英

將long轉換為兩個int,反之亦然

[英]Convert long to two int and vice versa

如何將兩個32位整數( int )轉換為一個64位long ,反之亦然?

long c = (long)a << 32 | b & 0xFFFFFFFFL;
int aBack = (int)(c >> 32);
int bBack = (int)c;

在Java中,您不需要太多括號,也不需要反向計算任何掩碼。

渴望多頭:

long c = ((long)a << 32) | ((long)b & 0xFFFFFFFFL);

我將把它作為練習讓讀者進行反向計算。 但暗示是; 使用更多的位移和位掩碼

(根據T. Murdock的評論編輯)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM