23 位運算子的運用

2021-10-13 22:57:16 字數 624 閱讀 2785

#將下面16位顏色**,每個對應的rgb求出來

color = 0xf0384e

#0b1111 0000 0011 1000 0100 1110

#乙個16進製制數等於4位二進位制數,

#首先求得 f0 需要右移抹除掉後面16位變成f0,轉換成二進位制ob1111 0000

red = color >> 16 #此時像右移16位變成 ob1111 0000

print(hex(red)) #0xf0

#print(red) #ob1111 0000 預設列印出來是十進位制 240

#然後求 38 ,這裡還是先右移8位變成 f038,然後讓↓ f0:11110000 ,38;01011000

gree = color >> 8 & 0x00ff

print(hex(gree))

#print(gree)

#最後求 4e

#用按位與運算,讓 f0 38 變成0 就得到 4e

bule = color & 0x0000ff

print(hex(bule))

#最後得出

print(hex(red),hex(gree),hex(bule))

print(red,gree,bule)

位運算子,「,」逗號運算子,

位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...

運算子之位運算子

右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...

ECMAScript 運算子 位運算子

位運算子是在數字底層 即表示數字的 32 個數字 進行操作的 重溫整數 ecmascript 整數有兩種型別,即有符號整數 允許用正數和負數 和無符號整數 只允許用正數 在 ecmascript 中,所有整數字面量預設都是有符號整數,這意味著什麼呢?有符號整數使用 31 位表示整數的數值,用第 32...