中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

律師事務所網(wǎng)站建設企業(yè)網(wǎng)站類型有哪些

律師事務所網(wǎng)站建設,企業(yè)網(wǎng)站類型有哪些,dedecms 網(wǎng)站還原,昆明智能建站以32位數(shù)據(jù)的二進制表示為例,習慣的寫法是LSB在左,MSB在右,注意BIT序和大小端的字節(jié)序沒有關(guān)系。Linux和BIT操作有關(guān)的接口在定義在頭文件bitops.h中,bitops.h定義有兩層,通用層和架構(gòu)層,對應兩個bitops.h&…

以32位數(shù)據(jù)的二進制表示為例,習慣的寫法是LSB在左,MSB在右,注意BIT序和大小端的字節(jié)序沒有關(guān)系。

Linux和BIT操作有關(guān)的接口在定義在頭文件bitops.h中,bitops.h定義有兩層,通用層和架構(gòu)層,對應兩個bitops.h,通用層的定義在./include/linux/bitops.h中,架構(gòu)層和處理器類型有關(guān),定義在./arch/$ARCH/include/asm/bitops.h中。

除了這兩個之外,實際上還有一個不常用到的include/asm-generic/bitops.h,這個頭文件一般只能被include/linux/bitops.h引用

所以引用關(guān)系可以表示為:

arch目錄下的bitops.h定義也僅允許被./include/linux/bitops.h引用。

如果./include/asm-generic/下的頭文件沒有直接被./include/linux/bitops.h引用,則也可以被ARCH下的頭文件直接引用./arch/$ARCH/include/asm/bitops.h

下面分別介紹每個BITOPS函數(shù):

ffs

ffs意思是Find First bit Set in word(From LSB to MSB).BIT從1開始記,返回值是[1,32],當輸入0值時,返回是0,也就是ffs(0) = 0;ffs(1)=1, ffs(0x80000000)=32;

__ffs

__ffs意思同樣是Find First bit Set in word.(From LSB to MSB).與ffs不同的是,__ffs從0開始記數(shù)。由于返回0表示的是bit 0為1,所以沒有一個合理返回值表達__ffs(0),所以__ffs(0)沒有定義,應用必須自行主動判斷為0的情況,保證輸入__ffs的參數(shù)為非0值。__ffs(0)=Undefined. __ffs(1) = 0; __ffs(0x80000000)=31;

__ffs/ffs相互實現(xiàn):

int ffs(int x)
{if (!x) return 0;return __ffs(x) + 1;
}int __ffs(int x)
{return ffs(x) - 1;
}

__ffs對參數(shù)的要求條件要強于ffs,所以_ffs的參數(shù)可以直接傳給ffs,但是ffs的參數(shù)需要做0檢查才能傳遞給__ffs。有點類似于C++基類和子類前置條件和后置條件的關(guān)系。

ffz

ffz means Find First Zero in word. 值域范圍為[0,31].如果輸入為0xFFFFFFFF,則結(jié)果未定義。在調(diào)用前,應用層因該進行條件檢查。

ffz恰好是_ffs的逆運算而非ffs的逆運算。所以可以通過_ffs來實現(xiàn)ffz

#define ffz(x) _ffs(~(x))

clz

clz means "Count Leading Zeroes".計算前導0的個數(shù),它從最高有效位(MSB)開始計算第一個位之前存在多少個零。在有些架構(gòu)的處理器中,專門定義了"clz"指令用來完成此類運算,比如MIPS。

clz是下面將要介紹的fls的小伙伴和好助手,通過clz實現(xiàn)fls非常的簡單和方便。由于它是一個計數(shù)值而非一個位置,所以值域并非前面的[0,31]或者[1,32],而是[0,32]. czl[0] = 32, czl(0xFFFFFFFF)=0,

clz(0x1)=31; clz(0x80000000)=0;

fls

fls means Find Last(Most Significant) bit set.和ffs恰恰相反,fls從LSB開始查找,找到最后一個值1的位,并返回其位置。值域為[1,32]. fls(0) = 0; fls(1) = 1; fls(0x80000000) = 32;

fls可以通過clz實現(xiàn):

fls(x) = 32-clz(x);

__fls

如同ffs和__ffs的關(guān)系一樣,__fls也可以通過fls減1實現(xiàn)。同樣對于0值,__fls不知如何處理,需要應用負責判斷。

int __fls(unsigned long x)
{if(!x) return 0;else return fls(x) - 1;
}

hweight_long/hweight32/hweight64

返回一個數(shù)字的加權(quán)平衡值,一個數(shù)的加權(quán)平衡是這個數(shù)所有位的總和。定義在文件include/asm-generic/bitops/const_hweight.h

#include <stdio.h>
#include <stdlib.h>
#include "include/asm-generic/bitops/const_hweight.h"int main(void)
{printf("%s line %d, %d, %d, %d.\n", __func__, __LINE__, hweight32(0), hweight32(0xffffffff), hweight32(0x08000000));return 0;
}

結(jié)束


http://www.risenshineclean.com/news/21960.html

相關(guān)文章:

  • 有哪些好的做兼職網(wǎng)站百度2022年版本下載
  • 北京城鄉(xiāng)建設委員會網(wǎng)站網(wǎng)絡seo排名
  • 四川成都網(wǎng)站制作廣州網(wǎng)站優(yōu)化費用
  • git怎么做隱私政策網(wǎng)站鏈接生成器
  • 如何做網(wǎng)站走查專業(yè)seo站長工具全面查詢網(wǎng)站
  • 北京微網(wǎng)站appseo文章代寫一篇多少錢
  • 免費php網(wǎng)站有哪些百度seo怎么樣優(yōu)化
  • 怎么做免費推廣網(wǎng)站百度怎么投廣告
  • 成都手機端建站模板百度官方認證
  • 網(wǎng)站建設制作定制百度競價怎么做效果好
  • 平板微信hd版seo網(wǎng)絡推廣是什么意思
  • 上海網(wǎng)站建設seodian培訓學校機構(gòu)有哪些
  • 番禺網(wǎng)站建設外包今日油價92汽油
  • 自己的網(wǎng)站怎么做關(guān)鍵詞優(yōu)化吉林seo外包
  • 南山公司網(wǎng)站建設合作seo公司
  • 有哪些做問卷調(diào)查賺錢的網(wǎng)站6網(wǎng)絡營銷推廣平臺
  • 個人做動漫資源網(wǎng)站比較好用的搜索引擎
  • 汕頭建站平臺今日軍事新聞頭條打仗
  • 沈陽做網(wǎng)站的公司排名預測2025年網(wǎng)絡營銷的發(fā)展
  • wordpress首頁導航添加圖片尺寸優(yōu)化網(wǎng)站界面的工具
  • 網(wǎng)站建設修改建議個人網(wǎng)站的制作模板
  • 上海裝修公司排名境遠鄭州百度網(wǎng)站快速優(yōu)化
  • 企業(yè)網(wǎng)站模板 演示網(wǎng)站建設方案模板
  • 變更備案提示 網(wǎng)站主辦者沖突軍事新聞今日最新消息
  • 怎么做網(wǎng)站上的模擬動畫百度競價在哪里開戶
  • wordpress5.6優(yōu)化大師怎么提交作業(yè)
  • 阿克蘇網(wǎng)站建設百度權(quán)重5的網(wǎng)站能賣多少錢
  • 做網(wǎng)站用虛擬服務器可以嗎免費自助建站平臺
  • wordpress 內(nèi)容采集重慶seo主管
  • 碭山做網(wǎng)站2345瀏覽器下載安裝