a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > PHP > 正文

PHP中使用BigMap實例

2020-03-24 18:57:36
字體:
來源:轉載
供稿:網友
//所謂的Bit-map就是用一個bit位來標記某個元素對應的Value, 而Key即是該元素。由于采用了Bit為單位來存儲數據,因此在存儲空間方面,可以大大節省。若 N =1 ; 申請內存空間為 int a[2] ; 假設需要排序或者查找的總數N=10000000,那么我們需要申請內存空間的大小為int a[1 + N/32],其中:a[0]在內存中占32為可以對應十進制數0-31,依次類推: 1.求十進制0-N對應在數組a中的下標: n/32 2.求0-N對應0-31中的數: N%32=M3.利用移位0-31使得對應32bit位為1: 1 M,并置1;舉例 : 如果想存儲 3 (1) a下標 30/ 32 = 0 ; 放在a[0] 中; (2) 3% 32 = 30; (3) 左移 30 位 01000000 00000000 00000000 00000000 這個對應的值$a[0] = 1073741824 ;
1.求十進制0-N對應在數組a中的下標: 十進制0-31,對應在a[0]中,先由十進制數n轉換為與32的余可轉化為對應在數組a中的下標。比如n=24,那么 n/32=0,則24對應在數組a中的下標為0。又比如n=60,那么n/32=1,則60對應在數組a中的下標為1,同理可以計算0-N在數組a中的下標。 2.求0-N對應0-31中的數: 十進制0-31就對應0-31,而32-63則對應也是0-31,即給定一個數n可以通過模32求得對應0-31中的數。 3.利用移位0-31使得對應32bit位為1. 找到對應0-31的數為M, 左移M位:即2^M. 然后置1. 由此我們計算10000000個bit占用的空間:1byte = 8bit1kb = 1024byte1mb = 1024kb占用的空間為:10000000/8/1024/1024mb。大概為1mb多一些。 html' target='_blank'>class bigMap { //使用兩個字節保存 private $mask = 0x1f ; private $bitsperword = 32 ; // 移位的位數為5 pow(2,5) = 32 private $shift = 5 ; // 存儲數據的數組 public $bitArray = array(); $i 對應的數歸零 function clearbit($i){ ////則將當前byte中的指定bit位取0,&后其他對方數組bit位必然不變,這就是 1 的妙用 // $i SHIFT 這里相當于 intval($i /32) ; // $i & $this- mask 這里相當于 $i % $this- mask ,取余 @$this- bitArray[$i $this- shift] &= ~(1 ($i & $this- mask)); $i 對應的數致1 function setbit($i){ @$this- bitArray[$i $this- shift] |= (1 ($i & $this- mask)); //test 測試所在的bit為是否為1 function testbit($i){ return $this- bitArray[$i $this- shift] ($i & $this- mask));PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品亚洲一区二区三区四区五区 | 国产精品久久久久久久毛片 | 成人一级| 成人高清 | 爆操欧美 | 国产在视频一区二区三区吞精 | 久久精品国产亚洲a∨蜜臀 性视频网站免费 | 色com| 色在线视频 | 在线第一页 | 九九热这里只有精 | 蜜臀久久精品 | 久久久久久久一区二区三区 | 久久99精品久久久久久久久久久久 | 黄色av网站大全 | 国产乱码精品一品二品 | 国产免费视频一区二区三区 | 一本色道精品久久一区二区三区 | 超碰人操 | 日本一区视频在线观看 | 国产精品综合视频 | 欧美日韩一二三 | 成人黄色免费视频网站 | 亚洲成人精品网 | 91xxx在线观看 | 久久精品视频18 | 成年入口无限观看网站 | 蜜桃臀一区二区三区 | 亚洲aⅴ | 亚洲天堂久久 | 欧美大片免费看 | 特黄毛片 | 国产精品一区二区三区四区 | 一区二区久久久 | 久久国产综合 | 亚洲黄色一级毛片 | 麻豆沈芯语在线观看 | 美日韩一区二区三区 | 国产一区 | 久久精品店 | 国产一区二区av |