bit的置位,復位與測試
在C++中,有bitset類,可以作為bit的使用,下面進行如何利用32位的int型整數來進行位操作
首先宣告需要存放的位數:
#define N 10000000
每一個int存放32位
#define BITSPERWORD 32
#define SHIFT 5
#defien MASK 0x1f
存的記憶體空間
int a[1+N/BITSPERWORD]
void set(int)
{ a[i>>SHIFT] |= (1<<(i&MASK))}
void clr(int) { a[i>>SHIFT] &= ~(1<<(i&MASK))}
void test(int)
{ return a[i>>SHIFT] & (1<<(i&MASK))}
上面的三個函式相似,i<<SHIFT代表的意思是找到第i位所在的int陣列的位置,例如i=2000,i<<SHIFT=62,就是把i所在的高位,放在了a[62]中的相應的位,i&MASK=16是求i的低32位,對應於所在位的餘數,總的來說就是在a[62]的第16位
相關推薦
bit的置位,復位與測試
在C++中,有bitset類,可以作為bit的使用,下面進行如何利用32位的int型整數來進行位操作 首先宣告需要存放的位數: #define N 10000000 每一個int存放32位 #define BITSPERWORD 32 #define SHIFT 5 #d
場,位,勢與逆熵過程——評《活著之上》
勤奮 OS 主從 真的 才華 post 才華橫溢 不容易 翻譯 高中的時候,我想著未來我是要搞學問,當大師,為天地立心,為生民立命,為往聖繼絕學,為萬世開太平。雖然時至今日我依然有這樣的想法,但我現在知道,要成為這樣的人太不容易了。這是一個逆熵過程。一當時物理老師講電場,電
一次極限專案管理,設計,開發,聯調與測試
什麼是All In? 是你不知道全力做這件事情會得到什麼。但你只想把它做好的感覺。 最近專案準時忙碌,每天奮戰在一線,從一開始瞭解需求,整理需求,到系統設計,模組兒設計。隨後前後端介面約定,後臺管理模組兒與核心模組兒開發,前後端介面聯調,與其他系統介面約定聯調。再到全專案測試,以及迎來最終
Java經典演算法集——如下:用1、2、2、3、4、5這六個數字,用java寫一個main函式,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"與"5"不能相連。
轉:http://www.blogjava.net/SongJunke/articles/101741.html 演算法程式題: 該公司筆試題就1個,要求在10分鐘內作完。 題目如下:用1、2、2、3、4、5這六個數字,用java寫一個main函式,打印出所
位操作,置位,清零
很久沒有用到位相關的東東了,現在來回顧一下如何將一個變數的某位置位或清零。 #define SetBit(x, y) (x |= 1 << y) //置位 #define ClearBit(x, y) (x &= ~(1 &l
用1、2、2、3、4、5這六個數字,用java寫一個main函式,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"與"5"不能相連。用1、2、2、3、4、5這六
private static String[] mustExistNumber = new String[] { "1", "2", "2", "3", "4", "5" }; private static boolean isValidNumber(Strin
用1、2、2、3、4、5 這六個數字,用java 寫一個main 函式,打印出所有不同的排列,要求:"4"不能在第三位,"3"與"5"不能相連。
下面的程式碼是網上找的,我按照自己的理解加的註釋: public class test01 { public static void main(String[] args) { // 理論上,題目所要求的排列組成的數字,都包含在122345~5
IL角度理解C#中欄位,屬性與方法的區別
# IL角度理解C#中欄位,屬性與方法的區別 [toc] # 1.欄位,屬性與方法的區別 欄位的本質是變數,直接在類或者結構體中宣告。類或者結構體中會有例項欄位,靜態欄位等(靜態欄位可實現記憶體共享功能,比如數學上的pi就可以存在靜態欄位)。一般來說欄位應該帶有private 或者 protected訪問屬性
virtual 將 Ubuntu16.04 設置 網絡橋接,主機與虛擬機ping通,虛擬機與其他機器ping通
網卡名 拒絕 ati 鏈接 eth0 down inter 技術分享 and http://www.jianshu.com/p/a4dbdb40b72b http://blog.csdn.net/briup_acmer/article/details/72125172
保留小數點後兩位,四舍五入與不四舍五入
tex head change body func onclick set console click <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"&
【Python3練習題 025】 一個數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同
pla python func ner value string clas cti pytho 【Python練習題 025】 一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同 x = input(‘請輸入任意位數的數字:‘) if x
java二進位制數原碼補碼反碼,運算子 與(&)、非(~)、或(|)、異或(^)及位運算總結
看過博主另一篇文章--Java集合--HashMap,對裡面使用的運算子及位運算不是很清楚的童鞋可以看下這篇文章,對理解hashMao原始碼很有幫助,自己也可以在程式中寫寫,逼格絕對滿分!!! 大家都知道一個位元組是8個二進位制
ArrayList優化,ensureCapacity的使用與測試
public static void main(String[] args) throws IOException { final int index=10000000; Object obj=new Object(); ArrayLi
黑白盒測試,動靜態測試的區別與聯絡
黑盒測試,白盒測試的區別:程式碼是否可見(也就是你是否要檢視程式碼)。 黑盒測試:是基於規格說明(需求文件)的測試。測試人員不考慮/不關心軟體內部結構,只關心程式的功能是否符合他的功能說明。又被稱為功能測試(黑盒只是功能測試的一部分)、資料驅動測試。 白盒測試:基於設計文件(結構)的測試。
陣列的常用方法(2)--es3.0:unshift,shift,reverse,splice與陣列的負位
unshift: 他是往數組裡面加東西的!!!而且還是在陣列的前面開始加 咱看看能不能和push那樣加好幾個進去。 可以! 現在怎麼寫呢?還和push一樣? var arr = [1,2,3]; Array.protot
SRPG遊戲開發(三十五)第八章 遊戲中的資料 - 五 測試,匯出,匯入與編輯器說明(Test, Export, Import and Description)
返回總目錄 第八章 遊戲中的資料(Data in Game) 在之前的章節中,我們進行地圖物件的生成,移動等操作。 這一章本來可以進行戰鬥的編寫,不過資料缺失是一個問題。 所以這一章我們先來建立一些資料,以及如何編輯它們,是否需要生成配置檔案等。 文章
機器學習:訓練集,驗證集與測試集
來源:http://mooc.study.163.com/learn/2001281003?tid=2001391036#/learn/content?type=detail&id=2001702114&cid=2001693028 作用 訓練集:用於訓練模型的
測試策略與測試計劃,有什麼區別?
測試策略 測試策略文件是高階文件,通常由專案經理開發。本文件定義了“軟體測試方法”以實現測試目標。測試策略通常來自業務需求規範文件。 測試策略文件是一個靜態文件,意味著它不會經常更新。它為測試過程和活動設定了標準,其他文件(如測試計劃)從測試策略文件中設定的標準中提取
程世東老師TensorFlow實戰——個性化推薦,程式碼學習筆記之②模型訓練與測試
個性化推薦第二部分:模型訓練 程式碼來自於知乎:https://zhuanlan.zhihu.com/p/32078473 /程式碼地址https://github.com/chengstone/movie_recommender/blob/master/movie_recommender.
SAP 通過事務程式碼與螢幕變式(SHD0)控制控制使用者介面的某些欄位,以控制生產訂單的排程型別為例
在實際工作中經常會遇到要求把SAP中某些欄位鎖定,或設為必須輸入,這時可以用事務程式碼與螢幕變式進行控制,事務程式碼:SHD0 (Transaction and Screen Variants)。 下面是控制生產訂單排程型別為固定值的操作實錄: 一、檢視生產訂單排程型別的螢幕號 輸入事務