我使用Python從控制器中拖出三個8位寄存器。三個寄存器組合構成一個24位整數 - 因此第一個寄存器/字節是該字的位0-7,第二個寄存器/字節是位8-15,第三個寄存器/字節是位16-23。從數學角度來看,我認爲需要將三個寄存器/字節連接成一個24位二進制字,然後將二進制轉換爲十進制。但是 - 我需要嚴格保持字節格式,所以如果一個字節字中的前導零被移除 - 這是一個問題。有沒有辦法做到這一點?Python中的二進制數據轉換
0
A
回答
0
像這樣的東西應該爲無符號數量的工作:
>>> b1, b2, b3 = 0x80, 0x40, 0x20
>>> n = (b3 << 16) | (b2 << 8) | b1
>>> n
2113664
>>> format(n, ',d')
'2,113,664'
>>> hex(n)
'0x204080'
>>> bin(n)
'0b1000000100000010000000'
相關問題
- 1. Python二進制轉換
- 2. Python中的快速二進制數據轉換
- 3. 在Python中將十進制數轉換爲二進制
- 4. Python的轉換StringIO的二進制
- 5. 轉換二進制數據日期
- 6. 將數據集轉換爲二進制
- 7. 轉換二進制數據到jpeg
- 8. 二進制數據緩慢轉換
- 9. python十進制數組轉換爲二進制數efficienty
- 10. 二進制數轉換
- 11. 轉換字典以二進制的python
- 12. Python將二進制字符串轉換爲二進制int
- 13. Python二進制數到十進制簡單轉換器
- 14. 轉換連續數據幀轉換成二進制數據幀中的R
- 15. python - 將二進制數據轉換爲utf-8
- 16. Python POST二進制數據
- 17. Python從base64轉換爲二進制
- 18. Python:二進制圖像轉換
- 19. Python二進制字符串轉換
- 20. 將字符串轉換爲二進制,並在Python中將二進制轉換爲十進制?
- 21. 將字符串轉換爲python中的二進制數
- 22. 轉換32位二進制數轉換爲十進制
- 23. 在shell腳本中將二進制數據轉換爲十六進制數據?
- 24. 將二進制數字轉換爲二進制數字
- 25. 轉換數據結構的二進制數據
- 26. 數據轉換:從二進制到R的觀測數據
- 27. 在Python中將2d二進制列表轉換爲十進制數的算法
- 28. 的Python:二進制轉換成十進制
- 29. 將十進制轉換爲二進制的Python代碼
- 30. Python的十進制轉換爲二進制遞歸
請提供一個例子輸入/輸出所需,你的企圖並指定你用什麼Python版本。閱讀[this](http://stackoverflow.com/help/mcve) – Pynchia
例如,假設輸入Reg 3 = 123,(b'01111011),Reg 2 = 230,b'11100110'和Reg 1 = 15,b( 00001111)。輸出的24位字將是b'011110111110011000001111'= 8119823.例如,我嘗試過「bin()」,但是bin(15)只返回'(1111)',我需要打包4個0來保留完整的8位寬度。使用Python 2.7。 – DyTech