二進位制處理函式

2021-04-20 07:39:43 字數 1409 閱讀 3112

unsigned const stat_zero = 0x0008;

unsigned const stat_one = 0x0002;

unsigned const stat_two = 0x0004;

unsigned const stat_three = 0x0008;

// 檢測位有1位是1就返回true

template

bool isanybitset(t value, u mask)

// 檢測位所有位都為1才返回true

template

bool areallbitsset(t value, u mask)

// 檢測位全為0返回false

template

bool areallbitsclear(t value, u mask)

// 置位

template

t setbits(t value, u mask)

// 除了遮蔽位,其他全置位

template

t setbit***cept(t value, u mask)

// 清除指定位

template

t clearbits(t value, u mask)

// 除了遮蔽位,其他全清0

template

t clearbit***cept(t value, u mask)

// n指定位置

template

t setbitbypos(t value, unsigned char n)

template

t clearbitbypos(t value, unsigned char n)

// 先置位add指定位,再清remove指定位為0

template

t setbitbypos(t value, u add, u remove)

template

bool isbitsetbypos(t value, unsigned char n)

template

bool isbitclearbypos(t value, unsigned char n)

// 獲取二進位制1個數

template

long getonenum(t value)

int n=0;

int num = 0;

while (loop--)

return num;

}// 獲取二進位制0個數

template

long getzeronum(t value)

int n=0;

int num = 0;

while (loop--)

return num;

}

二進位制 二進位制起源

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

struct處理二進位制

忍不住搬運了,感謝原作者 有的時候需要用python處理二進位制資料,比如,訪問檔案,socket操作時.這時候,可以使用python的struct模組來完成.可以用 struct來處理c語言中的結構體.struct模組中最重要的三個函式是pack unpack calcsize pack fmt,...

判斷二進位製半整數(二進位制)

10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...