我在採訪中被問到了這個問題。假設一個int爲2個字節,即16位,採訪者希望我只使用整數的10位,這基本上限制了int的範圍。其他6位當然不會使用。如何僅使用2個字節的int的10位?
0
A
回答
0
這是通過位掩碼完成的。 ANDING會給你結果。爲了給出一個想法,爲了從一個整數中獲得8個最低有效位,你將使用0xff等等。
+0
對不起,也許我不清楚。讓我澄清,目的不是從現有的整數中提取10位。但實際上,要創建一個新的數據類型,比如typedef,它將是一個只能存儲10位的整數。 – user2311285
0
面試官可能會想你展示位字段:
struct
{
int a : 10;
} foo;
看起來像一個奇怪的特點在接受採訪時稱,但是這是所有我能想到的。
它仍然可能不具有所期望的行爲,因爲它的「10位」功能將僅適用於儲存,不使用它的任何操作。
相關問題
- 1. 如何使用C#將int轉換爲僅使用低4位的字節?
- 2. 獲取int的字節表示形式,僅使用3個字節
- 3. 將16位signed int轉換爲2個字節?
- 4. 交換2個字節的位長度
- 5. 如何使用字節中的位
- 6. PHP包9位int然後10位int
- 7. 在C中將2個字節組合成一個短int int
- 8. C中2個字節的字節縮短爲2個字節?
- 9. KB是2^10。是一個字節2^0或2^1?
- 10. 統一2個字節我已經 一個功能,讓我在2個字節分離INT值INT
- 11. 如何得到一個字節的最後2位
- 12. 爲什麼sizeof()返回4個字節而不是2個字節的short int?
- 13. Little Endian中的2字節數組爲int而不使用java.nio。*
- 14. 如何僅使用CSS顯示字符串中的前10個字符?
- 15. 如何從內存中讀取10個字節來添加每個連續的2個字節
- 16. 如何使用define從int生成一個字節數組?
- 17. 如何清除一個字節的位?
- 18. 如何檢查一個字節的位[]
- 19. 將int轉換爲Big-Endian的2個字節
- 20. 如何使用短int的左右字節?
- 21. Java無符號字節[2]爲int?
- 22. int的最後1到2位數字,長度可變int
- 23. 如何將一個字節分成4對2位
- 24. 將簽名的long int(32bit)存儲爲4個八位字節?
- 25. 在int的每個半字節中切換位
- 26. 如何在C++中設置short int的高位和低位字節
- 27. 從10位數字的種子生成9字節的alphunumeric
- 28. 按位運算符並將int轉換爲2個字節再返回
- 29. 將4個字節的字節轉換爲一個int
- 30. 如何將1億個字符串映射爲10萬個int?
你不熟悉位運算符? –
我很抱歉,也許我不清楚。讓我澄清,目的不是從現有的整數中提取10位。但實際上,要創建一個新的數據類型,比如typedef,它將是一個只能存儲10位的整數。 – user2311285
你確定這是C而不是C++嗎? – samgak