中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中的位操作介紹

發布時間:2021-08-11 14:21:54 來源:億速云 閱讀:185 作者:chen 欄目:大數據

這篇文章主要講解了“C語言中的位操作介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C語言中的位操作介紹”吧!

一、位操作符:

1、位與:

位與的符號是" & ",這里很多人(包括作者本人)學了后面的邏輯與 (&&) ,然后在寫代碼或者說看別人的代碼時,可能就會搞混了他們倆的形式區別了:位與符號是一個 & ,兩個 && 是邏輯與。位與的真值表如下:

1&0=0    1|1=1   0&0=0   0&1=0

從真值表我們可以看出,位或操作的特點是:只有 2 個 0 相位或才能得到 0,只要有 1 個1 結果就一定是 1 。

注意——位或和邏輯或的區別:位或時兩個操作數是按照二進制位彼次對應位相與的,邏輯或是兩個操作數作為整體來相或的。

2、位或:

位或的符號是"|",同樣會犯剛才書寫形式上的錯誤,這里要明白:位或符號是一個" | ",兩個" || "是邏輯或。它的真值表如下:

 1|0=1    1|1=1   0|0=0   0|1=1

從真值表可以看出:位或操作的特點是:只有2個0相位或才能得到0,只要有1個1結果就一定是1。

注意——位或和邏輯或的區別:位或時兩個操作數是按照二進制位彼次對應位相與的,邏輯或是兩個操作數作為整體來相或的。

3、位取反:

位取反的符號是" ~",也是稍微注意一下和邏輯取反的形式:C語言中位取反是" ~ ",C語言中的邏輯取反是" ! "。按位取反是將操作數的二進制位逐個按位取反(1變成0,0變成1);而邏輯取反是真(在C語言中只要不是0的任何數都是真)變成假(在C語言中只有0表示假)、假變成真。下面我們來用代碼演練一下:

#include <stdio.h>
int main(void)
{
    unsigned int a = 45;
    unsigned int b, c;
    b = ~~a; // 按位取反,逐個位操作,1變0,0變1
    c = !!a;// 按邏輯取反,真變假,假變真
    printf("b = %u.\n", b);
    printf("c = %d.\n", c);

    return 0;

}

輸出結果:

  b = 45.
  c = 1.

從實驗我們可以發現:

  • 任何非0的數被按邏輯取反再取反就會得到1。

  •  任何非0的數倍按位取反再取反就會得到他自己。

4、位異或:

它的符號是"^",它的真值表如下:

   1^1=0     0^0=0   1^0=1   0^1=1   

位異或的特點:2個數如果相等結果為0,不等結果為1。記憶方法:異或就是相異就或操作起來

二、總結:

1、位與、位或、位異或的特點總結:

  • 位與:(任何數,其實就是1或者0)與1位與無變化,與0位與變成0。

  • 位或:(任何數,其實就是1或者0)與1位或變成1,與0位或無變化。

  • 位異或:(任何數,其實就是1或者0)與1位異或會取反,與0位異或無變化。

2、左移位"<<" 與右移位">>"總結:

  • C語言的移位要取決于數據類型。

  • 對于無符號數,左移時右側補0(相當于邏輯移位)。

  • 對于無符號數,右移時左側補0(相當于邏輯移位)。

  • 對于有符號數,左移時右側補0(叫算術移位,相當于邏輯移位)。

  • 對于有符號數,右移時左側補符號位(如果正數就補0,負數就補1,叫算術移位)。

  • 嵌入式中研究的移位,以及使用的移位都是無符號數。

感謝各位的閱讀,以上就是“C語言中的位操作介紹”的內容了,經過本文的學習后,相信大家對C語言中的位操作介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福海县| 同江市| 兴海县| 若尔盖县| 西乡县| 镇坪县| 西华县| 锡林浩特市| 青阳县| 子长县| 泰顺县| 罗甸县| 双辽市| 平武县| 藁城市| 嘉善县| 曲阜市| 万宁市| 娱乐| 临西县| 福鼎市| 南宁市| 广汉市| 丹棱县| 舞阳县| 英山县| 宁海县| 和林格尔县| 恩平市| 浮梁县| 九龙城区| 宁强县| 绍兴县| 昌都县| 淮安市| 麻阳| 浦江县| 博客| 平原县| 自贡市| 沙湾县|