我想將兩個32位值存儲在一個long int變量中。你如何在使用C的32位操作系統上執行此操作?是否有可能將數據存儲在一個單獨的long long變量中?如果是這樣,那是怎麼做的?如何在一個long int變量中存儲2個32位值?可能嗎?
回答
假設長是你的平臺上爲64位,
int v1 = 123;
int v2 = 456;
long val = v1 << 32 | v2;
長中找到,可能只有32位。然後val == v2 –
「假設您的平臺上的長度爲64位」。如果你正在64位編譯器上運行一個64位的盒子,一個長的是64位。 – Kevin
「警告:左移計數> =類型寬度」 - 您需要在某個地方投射。還可以用'v2 = -1'試試看它爆炸...... – user786653
使用的uint64_t中和位運算符。
uint64_t i64;
uint32_t a32, b32;
// Be carefull when shifting the a32.
// It must be converted to a 64 bit value or you will loose the bits
// during the shift.
i64 = ((uint64_t)a32 << 32) | b32;
除非sizeof(long int) == 8
,答案是否定的。如果這種平等是真的,那麼使用凱文或cnicutar的答案。
- 1. 如何將2個值存儲在一個變量中?
- 2. 你可以在int變量中存儲/轉換int值嗎?
- 3. 可以將變量存儲在另一個存儲類中嗎?
- 4. 如何將2個變量存儲在一個列表中?
- 5. 將2個值存儲在一個變量中?
- 6. 可能在SPSS中存儲變量值?
- 7. 如何在SharedPreferences中存儲一個int
- 8. 你可以在if子句中存儲一個變量嗎?
- 9. 到32位的值存儲到64位的存儲器上半部可變
- 10. 您可以將多個值存儲到一個變量中
- 11. 的JavaScript變量值可以存儲在PHP變量中嗎?
- 12. 32位Linux與64位Linux和MPFR之間的long long int
- 13. 存儲JQuery變量可能嗎?
- 14. 存儲在一個變量
- 15. 如何在一個指針處存儲long的二進制值?
- 16. 將簽名的long int(32bit)存儲爲4個八位字節?
- 17. 如何在本地宏中存儲變量的可能值?
- 18. 如何在Perl中打包一個int爲32位的big endian?
- 19. 一個變量可能指向另一個變量嗎?
- 20. 如何檢索最大id值並存儲在int變量中?
- 21. 如何散列一個32位int到10bit int?
- 22. 如何迭代存儲在List中的每個值<Long>?
- 23. 如何將一個long int轉換爲一個int C
- 24. $ _SESSION變量僅存儲一個值
- 25. 檢查2個int變量
- 26. 在32位系統上存儲超過2個電源31
- 27. 如何運行存儲在一個變量的JavaScript功能?
- 28. 如何在一個會話中存儲多個變量?
- 29. 在一個變量中存儲多個值?
- 30. 在一個浮點變量中存儲兩個浮點值
你爲什麼不使用兩個32位整數的結構? – SirDarius
你爲什麼要這樣做? –
代碼已經存在,所以我只是想知道64位的數據可以存儲在一個單一的長整型變量或不 – Syedsma