基本資料結構第一篇——位運算
在所有現代cpu中都是以二進位制方式表示資料,所以使用位掩碼來計算的優點
1、更快的執行速度、
2、更簡潔的程式碼、
3、更少的佔用記憶體量
4、用陣列代替關聯陣列
首先是按位與
按位與(&)
對兩個數進行操作,然後返回一個新的數,這個數的每個位都需要兩個輸入數的同一位都為1時才為1,如上圖:
(A & B) 結果為 12, 二進位制為 0000 1100
然後是按位或
按位或(|)
比較兩個數,然後返回一個新的數,這個數的每一位設定1的條件是兩個輸入數的同一位都不為0(即任意一個為1,或都為1),如上圖:
(A | B) 結果為 61, 二進位制為 0011 1101
按位異或(^)
比較兩個數,然後返回一個數,這個數的每個位設為1的條件是兩個輸入數的同一位不同,如果相同就設為0,如下圖:
(A ^ B) 結果為 49, 二進位制為 0011 0001
在按位異或中我們可以對應位置 相加如1+0=1 1+1=2二進位制進一位則為0;
然後左移(<<)一位表示原先的數字*2 (多出來一位補零).
右移一位(>>)表示原先的數字除以2
加油加油加油
相關推薦
基本資料結構第一篇——位運算
在所有現代cpu中都是以二進位制方式表示資料,所以使用位掩碼來計算的優點 1、更快的執行速度、 2、更簡潔的程式碼、 3、更少的佔用記憶體量 4、用陣列代替關聯陣列 首先是按位與 按位與(&) 對兩個數進行操作,然後返回一個新的數,這個數的每個位都需要兩個輸
易學筆記-Go語言-第4章:基本結構和基本資料型別/4.5 基本型別/4.5.6 位運算
易學筆記 十年IT經驗個人學習筆記分享: 開發語言:C/C++/JAVA/PYTHON/GO/JSP WEB架構:Servlets/springMVC/springBoot/springClound 容器架構:Docker容器/Docker叢集/Docker與微服務整合/
MOOC浙江大學 資料結構 第一講 基本概念
1.2 什麼是演算法? 1.1 例3 double f(int n,double a[],double x) { int i; double p=a[0]; for(i=1;i<=n;i++) p += (a[i]*pow(x,i)); return p
資料結構基礎篇-------2. 單鏈表的建立及運算
/* * 單鏈表的建立及其運算 * 2018.10.23 * @L.F * * */ #include<stdio.h> #include<stdlib.h> #include<string.h> typedef int Dat
資料加密 第一篇:加密的分層結構
加密是通過使用金鑰或密碼來混淆資料的處理過程,把明文處理為密文,如果沒有拿到相應的解密金鑰或密碼,即使拿到密文,也是無用,因此加密是保護資料的一個方法。使用者只有拿到金鑰和證書把密文資料解密之後,才能使用資料。如果沒有金鑰和證書,即使得到了資料,也無法得知資料的原始值,資料就沒有價值了。由於資料的加密和解密是
基本數據類型-位運算-字符集-流
進制 nic 字節 del cti oop 思考 註意 文件的 基本數據類型-位運算-字符集-流 1、基本類型 類型 字節數 範圍 byte 1 -128 ~ 127 short 2 -32768 ~32767 int 4 \(- 2^{31}\) ~
R語言-基本資料結構的用法
關鍵詞:向量、矩陣、陣列、資料框、因子、列表 近期開始上手R語言,可能是出於對機器學習的興趣吧從而瞭解到這門語言; 之前也看過人生苦短的Python,當然這兩門語言都是人工智慧技術中很好的工具; 二者也存在一些相同之處,當然是除了開源之外的一些相同之處; 本人蔘考的書籍是R語言實戰[
【python小課堂專欄】python小課堂05 - 基本資料型別字串篇(重要)
python小課堂05 - 基本資料型別字串篇(重要) 什麼是字串? 題西林壁 作者:蘇軾 橫看成嶺側成峰,遠近高低各不同。 不識廬山真面目,只緣身在此山中。 如上面的詩詞一樣,將其對映到我們計算機程式中,顯然不是前幾張介紹的資料型別,那麼今天就來說下程式設計中
【python小課堂專欄】python小課堂04 - 基本資料型別布林篇
python小課堂04 - 基本資料型別布林篇 什麼是布林型別? 布林型別:英文boolean。 舉個栗子,比如今天是愚人節!你發工資了,於是你興高采烈的去與同事探討一番,同事偷偷的告訴你,他漲工資了!然後你表示很開心,但是你意識到今天是愚人節了,於是你充滿疑問的心態去問他,
【python小課堂專欄】python小課堂02 - 基本資料型別數字篇
python小課堂02 - 基本資料型別數字篇 什麼是基礎資料型別 ? 在我們的日常生活中,當我們去菜市場買菜交錢的時候,會出現用數字作為計量單位來衡量一個物品值多少錢,而此時交錢的數字有零有整,比如一斤普通雞蛋的價錢是1元錢整,我們將1元錢稱之為整數;一斤普通鴨蛋的價錢是1.7
Redis基本資料結構及SpringBoot中使用redisTemplate操作Redis
文章目錄 一、Redis環境 1、環境:CentOS7.0,redis-4.0.2 2、首先啟動redis服務 二、Redis資料結構 1、string(字串) (1)鍵值對 (2)使用
基本資料結構――堆的基本概念及其操作
轉載自:https://www.cnblogs.com/JVxie/p/4859889.html,同時感謝大佬的分析 在我剛聽到堆這個名詞的時候,我認為它是一堆東西的集合 但其實吧它是利用
Nginx基本資料結構之ngx_hash_keys_arrays_t
大家看到在構建一個ngx_hash_wildcard_t的時候,需要對萬用字元的哪些key進行預處理。這個處理起來比較麻煩。而當有一組key,這些裡面既有無萬用字元的key,也有包含萬用字元的key的時候。我們就需要構建三個hash表,一個包含普通的key的hash表,一個包含前向萬用字元的hash
資料結構實驗三集合運算與判斷
#include<iostream> using namespace std; int Equal(int,int);//*判斷相等運算*// void Pay(int,int);//*交運算*// void And(int,int);//*並運算*// int Fill(in
Objective-C runtime機制(1)——基本資料結構:objc_object & objc_class
前言 從本篇文章開始,就進入runtime的正篇。 什麼是runtime? OC是一門動態語言,與C++這種靜態語言不同,靜態語言的各種資料結構在編譯期已經決定了,不能夠被修改。而動態語言卻可以使我們在程式執行期,動態的修改一個類的結構,如修改方法實現,繫結例項變數等。
Java資料結構-BitSet(位集合)
BitSet定義了兩個構造方法。 第一個構造方法建立一個預設的物件: BitSet() 第二個方法允許使用者指定初始大小。所有位初始化為0。 BitSet(int size) 參考菜鳥教程 // //位集合 //// BitSet bit
資料結構--基本資料結構
1.基本資料型別區分如下: 2.線性表: 2.1順序表: 元素在記憶體之中,是連續順序儲存的,在記憶體中劃分的是一塊連續的區域 &n
kafka叢集Producer基本資料結構及工作流程深入剖析-kafka 商業環境實戰
本套技術專欄是作者(秦凱新)平時工作的總結和昇華,通過從真實商業環境抽取案例進行總結和分享,並給出商業應用的調優建議和叢集環境容量規劃等內容,請持續關注本套部落格。期待加入IOT時代最具戰鬥力的團隊。QQ郵箱地址:[email protected],如有任何學術交流,可隨時聯絡
mooc-python語言程式設計練習3-基本資料結構
1.# 00390031003900310038154 pow(x, 0.5)能夠計算x的平方根,計算負數的平方根將產生:
資料結構-第一章,順序表,連結串列,棧結構,佇列結構的關係(個人見解)
首先 順序表 和 連結串列是 兩個儲存結構。分別有自己的儲存特點。 其次 順序表 和 連結串列分別存放在不同的地方,“這個地方”就是 “棧” 或者 “佇列” 了 其實就是按照 FIFO先進先出 和 FILO先進後出 來處理資料所區別。 {{{而對於 FIFO 呢