二進位制運算技巧

2021-07-06 01:33:14 字數 476 閱讀 8812

假設都在x86或x86_64架構cpu上進行運算,二進位制基本運算包括,加減乘除、與、或、異或、同或、移位等

假設n 為 32 位整形數,取正整數n除以8的餘數 : n & 0x07

假設n 為 32 位整形數,取正整數n除以16的餘數 : n & 0x0f

假設n 為 32 位整形數,8位對齊 : (n + 7) & 0xfffffff8)

假設n 為 32 位整形數,32位對齊 : (n + 31) & 0xffffff80)

假設n 為 32 位整形數,求8位對齊填充位數 ((n + 7) & 0xfffffff8) – n;

求int 最大值 : (1 << 31) – 1 或者乾脆 0x7fffffff

求int 最小值 : 1 << 31

判斷奇偶數 : n & 1 == 1

交換a b 兩個變數的值 : a ^= b ^= a ^= b;

n 乘以2的m次方 : n << m

二進位制運算

運算子 符號含義例子與 兩邊都為真時為真 1 1 1或 任何一邊為真時為真1 非取反 如果1則為0 如果0為1 1 0 異或 兩邊相同為1 兩邊不同為0 1 1返回false 1 2返回true 運算子符號含義 例子邏輯與 判斷兩邊 都為真時為真 true true true或 判斷兩邊 任何一邊為...

二進位制運算( )

負數轉化二進位制步驟 將負數取絕對值,得到其絕對值的二進位制 6取絕對值為6,6的二進位制 0110,然後補充0110位32位 000 000 0110 一共32位,即0110前面還有28個0 然後每位取反 111 111 1001 一共32位 接著對上面得到的二進位制 111 111 1001 進...

二進位制運算

一 運算子 按位與 按位或 按位異或 按位取反 按位左移 有符號的按位右移 無符號的按位右移 二 算術運算 二進位制數的算術運算包括 加 減 乘 除四則運算,下面分別予以介紹。1 二進位制數的加法 根據 逢二進一 規則,二進位制數加法的法則為 0 0 00 1 1 0 1 1 1 0 進製為1 1 ...