Python 二進位制相關操作

2021-10-21 01:23:43 字數 1065 閱讀 8588

10

<<

10# 15.2 ns 僅整數

b'\x5f'

.hex()

# 111 ns

'香香香'

.encode(

)# 139 ns 僅字串

binascii.b2a_hex(b'\xb9\x01\xef'

)# 172 ns 僅字串

struct.pack(

'>i'

,65535

)# 211 ns 僅符合c語言標準結構

int(

'101',8

)# 224 ns

bytes

.fromhex(

'ff ff ff'

)# 231 ns 僅hex字元

int.to_bytes(

1111

,length=

8,byteorder=

'little'

)# 260 ns 僅整數

bytearray

.fromhex(

'ff ff ff'

)# 282 ns 僅hex字元

ctypes.string_at(i,g)

# 1.13 µs 可以對記憶體中任何位置、任何長度進行操作

bin(a)

# 3.03 µs 僅整數

bitstring.bits(b'\x5f'

)# 10.1 µs

bitstring.bits(b'\x5f').

bin# 16.5 µs

bitstring.bits(b'\x5f').

hex# 29.3 µs

早期接觸的bin,雖然是現實的位元位情況, 效率卻最低。但int的效率確很高。

一些比特級操作,例如位置資訊、顏色資訊等儲存。通常位元組級操作用得多,如果用到比特級,貌似並沒有高效的方法。

位元組是計算機的最小操作單位,位元是計算機的最小儲存單位

我悟了,現在這個記憶體夠用的時代,用位元組裝x已經很酷了,若用位元裝x,畫蛇添足,記憶體占用可能提公升了,但是沒有好的方法,轉換率低,所以用位元組就夠了!

二進位制操作

關於二進位制操作很常見,很多筆試面試題中也有涉及,本篇主要圍繞二進位制翻轉,二進位制最高位判定和給定整數的二進位制輸出來 靈活使用二進位制的 操作。一 給定整數的二進位制翻轉 思路 可以考慮逐次翻轉得到最終的翻轉結果,具體做法,首先將所有二進位制位奇偶位逐個翻轉,然後以兩位為一對 作為整體 奇偶對逐...

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

二進位制相關資料

檢視祥細 http www.jcourse.cn read 144 二進位制 16進製制 十進位制 二進位制位數 0001 0x1 1 0010 0x2 2 0100 0x4 4 1000 0x8 8 1111 0xf 15 10000 0x10 16 100000 0x20 32 111111 0...