<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      逍遙自在學C語言 | 位運算符<<的高級用法

      前言

      在上一篇文章中,我們介紹了~運算符的高級用法,本篇文章,我們將介紹<< 運算符的一些高級用法。

      一、人物簡介

      • 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。

      • 第二位上場的是和我們一起學習的小白程序猿 —— 逍遙。

      二、計算2的整數次冪

      • 代碼示例
      #include <stdio.h>
      int main() 
      {
          int x = 1;
          printf("請輸入2的次方數:");
          scanf("%d",&x);
          int y = 1 << x; 
          printf("\n2的%d次方 = %d\n",x,y);
          return 0;
      }
      
      • 運行結果

      三、將一個字節(jié)序列合并為一個整數

      • 例如,將4個字節(jié)組成的字節(jié)序列b合并為一個整數
      • 代碼示例
      #include <stdio.h>
      
      int main() 
      {
          unsigned char b[4] = {0x12, 0x34, 0x56, 0x78};
          unsigned int x = ((unsigned int)b[0] << 24) | ((unsigned int)b[1] << 16) |((unsigned int)b[2] << 8) | ((unsigned int)b[3]);
          printf("合并后的整數 = 0x%08x\n", x);
          return 0;
      }
      
      • 運行結果

      下面介紹的兩種用法,會用到& | ^的知識

      如果有不清楚的,可以查看之前的文章:位運算符的基礎用法

      四、標記碼

      1、標記位置1

      • 例如,將0xF8的第2位(從第0位開始數,由低位到高位) 置1
      • 代碼示例
      #include <stdio.h>
      int main() 
      {
          int x = 0xF8;
          x |= 1<<2; 
          printf("x = 0x%0x\n",x);
          return 0;
      }
      
      • 運行結果

      2、標記位置0

      • 例如,將0xF8的第3位(從第0位開始數,由低位到高位) 置0
      • 代碼示例
      #include <stdio.h>
      int main() 
      {
          int x = 0xF8;
          x &= (~(1<<3)); 
          printf("x = 0x%0x\n",x);
          return 0;
      }
      
      • 運行結果

      3、標記位取反

      • 例如,將0xF8的第3位和第2位(從第0位開始數,由低位到高位) 取反
      • 代碼示例
      #include <stdio.h>
      int main() 
      {
          int x = 0xF8;
          x ^= (3<<2);  // 3的二進制為0b11,左移2位剛好對應第2和第3位
          printf("x = 0x%0x\n",x);
          return 0;
      }
      
      • 運行結果

      五、掩碼

      1、末尾連續(xù)N位都置1

      • 例如,將0xF8的低3位都置1
      • 代碼示例
      #include <stdio.h>
      int main() 
      {
          int x = 0xF8; // Ob1111 1000 
          x |= ((1<<3)-1);
          printf("x = 0x%0x\n",x); // 0b1111 1111
          return 0;
      }
      
      • 運行結果

      2、末尾連續(xù)N位都置0

      • 例如,將0xFF的低4位都置0
      • 代碼示例
      #include <stdio.h>
      int main() 
      {
          int x = 0xFF;	// 0b1111 1111
          x &= ~((1<<4)-1);
          printf("x = 0x%0x\n",x); // 0b1111 0000
          return 0;
      }
      
      • 運行結果

      3、末尾連續(xù)N位取反

      • 例如,將0xFA的低4位都取反
      • 代碼示例
      #include <stdio.h>
      int main() 
      {
          int x = 0xFA;	// 0b1111 1010
          x ^= ((1<<4)-1);
          printf("x = 0x%0x\n",x); // 0b1111 0101
          return 0;
      }
      
      • 運行結果

      小結

      通過這篇文章,我們學會了用位運算符<<的4種高級用法

      1、計算2的整數次冪

      2、將一個字節(jié)序列合并為一個整數

      3、標記碼

      4、掩碼

      在下一篇文章中,我們將介紹位運算符>>的一些高級用法。

      ??歡迎各位 ??點贊 ?收藏 ??評論,如有錯誤請留言指正,非常感謝!

      posted @ 2023-04-14 23:39  知微之見  閱讀(840)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 久青草国产在视频在线观看 | 久草热大美女黄色片免费看| 星座| 91精品国产一二三产区| 好紧好滑好湿好爽免费视频| 色狠狠色噜噜AV一区| 亚洲日本精品国产第一区| 久久综合国产精品一区二区| 91亚洲国产三上悠亚在线播放| 国产欧美日韩综合精品二区 | 亚洲春色在线视频| 人妻久久久一区二区三区| 1000部拍拍拍18勿入免费视频| 四虎国产精品成人免费久久 | 九九热在线免费播放视频| 色婷婷综合久久久中文字幕| 精品人妻少妇嫩草av专区| 无码福利写真片视频在线播放| 成人3D动漫一区二区三区| 国产蜜臀视频一区二区三区| 国产综合久久久久久鬼色 | 精品久久久久久国产| 亚洲国产精品综合久久网各| 艳妇乳肉豪妇荡乳在线观看| 精品国产精品午夜福利| 五月丁香激激情亚洲综合| 2020国产成人精品视频| jizz国产免费观看| 少妇高潮灌满白浆毛片免费看 | 中文激情一区二区三区四区| 中文字幕在线精品人妻| 狠狠五月深爱婷婷网| 超碰国产天天做天天爽| 色综合天天综合天天综| 国产精品黄大片在线播放| 亚洲精品漫画一二三区| 亚洲综合成人av在线| 麻豆久久天天躁夜夜狠狠躁 | 亚洲AV成人无码久久精品四虎| 无码人妻精品一区二区在线视频| 视频一区视频二区中文字幕|