如果想看高大上的可以點下面的鏈結
bitset 裡面有乙個long陣列,放入數字除以64取整則表示這個數字在long陣列的下標,且用餘數進行計算。
set方法:比如放入乙個3,則把1左移三位(1000)並且 「|" 上long[0]裡面的值(0)放入 long[0].
如果此時再放入乙個5則把1左移5位(100000) 並且 「|" 上long[0]裡面的值(101000)放入long[0],
如果在放入同樣的值結果不變.
而假如這個時候放入乙個65,則由於66除以64取整是1,取餘2,則此時把1左移餘數2(100) 並且 「|「 long[1](
取整的1為前面取整所得)裡面的值(0)放入long[1]
get方法:之後假設從bitset裡面獲取3,則會把1左移3位(1000) 然後 &」long[0]裡的值(101000) 結果為1000不為0表示bitset裡存在3,
而假設獲取的是4(10000) "&"(101000)結果為0表示不存在4。獲取66同理。
set的值
放入words的下標wordindex
words[wordindex]的二進位制值30
1005
01010060
110100671
1000691
101000
1292
1get的值
下標wordindex
words[wordindex]的二進位制值結果3
0110100
100 |110100 = 10040
110100
1000 |110100 = 060
110100
100000 |110100 = 100000671
1000
1000 |101000= 1000681
11000
10000|101000=0
public void set(int bitindex)
public void set(int bitindex)
Java BitSet 簡單使用
bitset 簡單說明 在記憶體中是一串連續的記憶體空間,從0開始的正整數 按位操作,每一位的值只有兩種 0 或者 1,來表示某個值是否出現過。2 簡單使用 把 1 3 5 三個數放bitset中 bitset bitset newbitset bitset.set 1 bitset.set 3 b...
static關鍵字解釋及舉例
注意 靜態不能直接訪問非靜態,非靜態可以直接訪問靜態,因為在記憶體中靜態隨著類的載入而載入,先有的靜態再有的非靜態 靜態不能使用this關鍵字,因為this代表當前物件,而靜態方法不用建立物件就直接呼叫。static 靜態,也可以說是共享,下面舉乙個例子解釋 class test3 grade cl...
資料庫設計 三正規化 解釋 舉例
1nf 字段不可分 2nf 有主鍵,非主鍵字段依賴主鍵 3nf 非主鍵字段不能相互依賴 解釋 1nf 原子性 字段不可再分,否則就不是關聯式資料庫 2nf 唯一性 乙個表只說明乙個事物 3nf 每列都與主鍵有直接關係,不存在傳遞依賴 不符合第一正規化的例子 關聯式資料庫中create不出這樣的表 表...