《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 計算機系統(tǒng)原理(六) 布爾代數以及C語言上的位運算

計算機系統(tǒng)原理(六) 布爾代數以及C語言上的位運算

2017-06-22
關鍵詞: 匯編語言

布爾代數上的位運算

布爾代數是一個數學知識體系,它在0和1的二進制值上演化而來的。

我們不需要去徹底的了解這個知識體系,但是里面定義了幾種二進制的運算,卻是我們在平時的編程過程當中也會遇到的。這四種運算分別是或、與、非和異或。下圖展示了在布爾代數的知識體系中,對這四種運算的定義。

從左至右依次是非、與、或以及異或。這個圖闡述的是針對一位二進制的運算結果,我們可以將其擴大到N位二進制。比如兩個二進制[aw,aw-1...a1]和[bw,bw-1...b1],它們的四種運算則是對兩者每一個相對應的位上做相應的運算。

也就是說,倘若假設結果是[cw,cw-1...c1]的話,那么對于任意ci都滿足 ci = ai (|,&,^) bi,如果是對[aw,aw-1...a1]進行非運算的話,那么ci = ~ai。

C語言上的位運算

在C語言中,也支持位運算,而它的計算方式就是布爾代數中的位運算。位運算我們最常使用的是掩碼的方式。比如我們知道一個整數x,如果我們想取得這個整數的最后一個字節(jié)的整數值的話,就可以采用位運算。就像下面這樣。

#include <stdio.h>
   
int main(){
    unsigned int i = 0x12345678;
    unsigned int j = 0xFF;
    unsigned int k = i & j;
    printf("%X\n",k);
}

最終我們希望得到的結果是78,也就是整數i的最后一個字節(jié)的值,我們使用掩碼0xFF以及與運算過濾掉整數i的高位的三個字節(jié)。以下是結果。

C語言的邏輯運算


C語言中的邏輯運算有||、&&和!,這比較容易與剛才的|,&和~搞混。邏輯運算比較特別,在這種運算的結果中認為所有非0的數值都是true,而為0的則為false。LZ在此寫了一個小程序,我們來簡單的看下二者的區(qū)別。

#include <stdio.h>
   
int main(){
     unsigned int x = 0x12345678;
     unsigned int i = !x;
     unsigned int j = ~x;
     unsigned int m = !!x;
     unsigned int n = ~~x;
     printf("%u %u\n",i,j);
     printf("%u %u\n",m,n);
}

從這個程序的結果可以很明顯的看出!和~運算的區(qū)別,我們來直接看結果吧。

結果很明顯,左邊是!x以及!!x的結果,只有0和1,而右邊則是~x和~~x的結果。這里可以很明顯的看出邏輯非與位的非運算的區(qū)別。前者只有0和1,而后者則是對每一位二進制值取反。

除了結果上的區(qū)別之外,它們二者還有一個區(qū)別,就是邏輯運算倘若可以根據第一個表達式確定結果的話,那么將不會計算第二個表達式。舉個簡單的例子,假設有兩個表達式a和b,對于a && b,倘若a為假,則不會計算b表達式的值。但是對于a & b則不同,無論a表達式的值為何,都要計算b表達式的值。

C語言的移位運算

移位運算分為兩種,左移和右移。對于一個二進制數[aw,aw-1,...a1]來說,如果將它進行左移運算,則x << k = [aw-k,aw-k-1,...a1,0,...0]。此時相當于最高的那k位都被丟棄了,在最右端補了k個0。而對于x >> k來說,也就是右移運算,與左移是類似的,只不過為了照顧有符號數,有時候需要在左端補最高位而不是0。而對于補0的情況,則稱為邏輯右移,補最高位的則稱為算術右移。

也就是說,對于邏輯右移來說,x >> k = [0,...0,aw,aw-1,...ak+1],而對于算術右移來說,x >> k = [aw,...aw,aw,aw-1,...ak+1]。

本章小結

本章主要只是簡單的介紹了下C語言中的位運算,下一章將會介紹一下整數的表示方式。


本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧洲一区二区三区久久| 欧美成人免费网| 国产亚洲欧美日韩美女| 香蕉国产精品偷在线观看不卡| 一区二区精品在线| 国产精品毛片a∨一区二区三区|国| 亚洲午夜视频| 亚洲一区二区三| 国产欧美日韩激情| 久久精品国产99精品国产亚洲性色 | 久久九九久久九九| 欧美自拍偷拍| 91久久嫩草影院一区二区| 国产一二三精品| 国产婷婷精品| 欧美刺激性大交免费视频| 久久久久亚洲综合| 亚洲精品国产精品国产自| 亚洲日本在线观看| 在线国产精品播放| 欧美成年人视频网站| 久久久在线视频| 久久久国产精品亚洲一区| 欧美专区18| 亚洲精品一区二区三区婷婷月| 夜夜嗨av一区二区三区网页| 亚洲国内高清视频| 国产精品伦一区| 欧美色网在线| 久久婷婷丁香| 亚洲五月婷婷| 亚洲深夜福利在线| 欧美在线一区二区三区| 午夜性色一区二区三区免费视频| 亚洲福利视频二区| 国产精品毛片在线看| 国产精品成人免费精品自在线观看| 久久久91精品国产一区二区三区 | 国产日韩欧美精品在线| 国产亚洲激情视频在线| 国语对白精品一区二区| 久久精品91久久香蕉加勒比| 亚洲第一页中文字幕| 夜夜狂射影院欧美极品| 国产精品99久久久久久久vr | 国产一区在线观看视频| 激情欧美日韩| 国产精品国产成人国产三级| 裸体女人亚洲精品一区| 91久久中文| 亚洲一区二区三区激情| 午夜精品久久一牛影视| 久久爱91午夜羞羞| 亚洲理伦在线| 亚洲欧美日韩国产精品| 亚洲美女少妇无套啪啪呻吟| 国产精品99久久久久久久vr | 亚洲欧美久久久久一区二区三区| 亚洲国产精品综合| 99re在线精品| 亚洲国产精品久久久久久女王| 亚洲日本在线观看| 亚洲综合好骚| 亚洲午夜一区二区三区| 亚洲经典在线看| 亚洲色在线视频| 久久精品天堂| 久久gogo国模啪啪人体图| 亚洲国产mv| 亚洲午夜国产成人av电影男同| 欧美在线综合| 欧美国产日韩亚洲一区| 久久亚洲图片| 欧美色另类天堂2015| 国内成人精品2018免费看| 日韩视频在线观看| 亚洲精品色婷婷福利天堂| 国产视频丨精品|在线观看| 尤物九九久久国产精品的特点| 日韩亚洲国产欧美| 欧美在线黄色| 香蕉久久夜色精品国产使用方法| 在线亚洲伦理| 一本一本a久久| 欧美一区二区在线| 亚洲视频在线观看免费| 久久亚洲国产精品日日av夜夜| 欧美日韩日本国产亚洲在线| 欧美精品国产精品| 欧美福利视频| 国产手机视频精品| 99成人在线| 性欧美8khd高清极品| 一本一本久久| 一区二区三区四区在线| 久久久精品999| 国产精品sss| 亚洲三级观看| 欧美一区二区高清在线观看| 中文久久乱码一区二区| 美女啪啪无遮挡免费久久网站| 国产精品视频1区| 国产精品播放| 亚洲激情av| 亚洲福利专区| 久久久久成人网| 国产欧美日韩精品专区| 日韩写真在线| 日韩午夜电影在线观看| 在线亚洲观看| 欧美va亚洲va香蕉在线| 欧美激情精品久久久六区热门| 国产欧美日韩在线视频| 99国产精品久久久久老师 | 久久久久久9| 国产欧美精品在线| 一区二区三区日韩精品视频| 亚洲美女电影在线| 欧美一区二区三区播放老司机| 欧美在线视频观看免费网站| 欧美视频福利| 亚洲精品在线电影| 日韩午夜免费视频| 欧美国产激情二区三区| 在线日韩欧美| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 国产精品爱久久久久久久| 亚洲免费大片| 在线亚洲电影| 欧美亚洲第一页| 日韩性生活视频| 亚洲亚洲精品在线观看| 欧美午夜精品久久久| 一区二区国产精品| 午夜精彩国产免费不卡不顿大片| 亚洲图片激情小说| 国产精品久久| 亚洲欧美一区二区精品久久久| 久久爱www久久做| 国产综合视频| 亚洲欧洲在线播放| 欧美人在线视频| 国产精品一区免费视频| 亚洲高清资源综合久久精品| 91久久香蕉国产日韩欧美9色| 欧美大片一区二区三区| 亚洲精品视频免费| 亚洲一区二区黄色| 国产精品亚洲视频| 欧美与黑人午夜性猛交久久久| 久久夜精品va视频免费观看| 亚洲二区在线视频| 中日韩男男gay无套| 国产精品伦子伦免费视频| 欧美一区二区三区在线免费观看 | 韩国一区二区三区在线观看| 亚洲国产另类久久久精品极度| 亚洲欧美在线播放| 欧美大片国产精品| 亚洲精品网站在线播放gif| 9i看片成人免费高清| 久久久久一本一区二区青青蜜月| 国内精品久久久久影院优| 欧美主播一区二区三区美女 久久精品人| 久久一二三四| 亚洲成人直播| 夜夜嗨av一区二区三区网页| 欧美久久久久久蜜桃| 日韩视频免费观看高清在线视频| 一本大道久久a久久精品综合| 欧美日韩国产综合在线| 国产精品播放| 亚洲一区二区三区涩| 欧美影视一区| 激情亚洲一区二区三区四区| 亚洲激情亚洲| 欧美人牲a欧美精品| 中文无字幕一区二区三区| 欧美亚洲一级| 亚洲国产高清高潮精品美女| 日韩小视频在线观看| 欧美日韩在线免费观看| 午夜一区二区三视频在线观看| 麻豆精品传媒视频| 日韩图片一区| 欧美一级在线视频| 在线观看视频一区二区| 日韩一二在线观看| 国产精品va在线| 香蕉乱码成人久久天堂爱免费| 欧美日产一区二区三区在线观看| 亚洲视频二区| 久久综合久久88| 亚洲午夜激情| 老司机午夜免费精品视频| 日韩网站在线看片你懂的| 久久国产福利| 中文欧美在线视频| 久久嫩草精品久久久久| 亚洲精品在线免费观看视频|