1. <span id="4x4v6"></span>

    1. <button id="4x4v6"><acronym id="4x4v6"></acronym></button>

      <tbody id="4x4v6"></tbody>

      <dd id="4x4v6"><pre id="4x4v6"></pre></dd>

      當前位置 博文首頁 > Moqim的博客:單片機學習(2)

        Moqim的博客:單片機學習(2)

        作者:[db:作者] 時間:2021-09-26 09:51

        一:進制轉換

        1.二進制轉十進制:

        計算方法:從右向左依次乘上2的n次冪,n從零開始,^符號表示次冪

        1001 0110   1*2^7+0*2^6+0*2^5+1*2^4+0*2^3+1*2^2+1*2^1+0*2^0=150
        1000 0000   -2^7     -128
        1000 0010   -2^7+2^1  -126
        0111 1111   2^7-1   127
        

        2、十進制轉二進制:
        計算方法:十進制轉二進制就是二進制轉十進制的逆過程。
        (逆序取整)

        拿十進制150來舉例。
        
        150/2=75(余數為0)
        
        75/2=37(余數為1)
        
        37/2=18(余數為1)
        
        18/2=9(余數為0)
        
        9/2=4(余數為1)
        
        4/2=2(余數為0)
        
        2/2=1(余數為0)
        
        1/2=0(余數為1)
        
        整合為10010110即是轉換的二進制。
        

        常用十進制與二進制互換:

          二進制         十進制
        0000 0100         4
        0000 1000         8
        0001 0000        16
        0010 0000        32
        0100 0000        64
        1000 0000      -128
        0111 1111       127
        1111 1111        -1
        

        3.二進制轉十六進制:
        首先需要4個二進制數各劃分一個區域,不足時則補零(從左補零)。然后每個區域從右向左依次乘上2的n次冪,n從零開始,^符號表示次冪。合并得到的數就是轉換后的十六進制數。
        下圖為十六進制數參考表格:
        圖片來源:@mez_Blog——進制之間的轉換(二進制、八進制、十進制、十六進制)

        拿二進制數1 0010 1100舉例:
        補零->0001 0010 1100
        計算->  1    2    12(參考表格,12在十六進制中為C)
        合并->  12C
        即,轉換成的十六進制數為12C.
        

        參考文章:@mez_Blog——進制之間的轉換(二進制、八進制、十進制、十六進制)


        二、原碼與補碼的轉換

        正數:補碼與原碼一致,
        負數:正數原碼按位取反再加一

        -96 ->96->0110 0000->1001 1111->1010 0000
        

        三、字節數

        char
        字節數:1Byte=8bit ··········//1個字節,4位。

        min: 1000 0000
              -128               //轉化的十進制數
             -2^(8-1)            //計算過程
        max:0111 1111
               127               //轉化的十進制數
             2^(8-1)-1           //計算過程
        

        unsigned char 無符號char
        字節數:1Byte=8bit ··········//1個字節,4位。

        min:0000 0000  
               0
        max:1111 1111
               255              //轉化的十進制數
              2^8-1             //計算過程
        

        int
        字節數:4Byte=32bit ··········//4個字節,32位。

        min: -2^(32-1)
        max: 2^(32-1)-1
        

        unsigned int
        字節數:4Byte=32bit ··········//4個字節,32位。

        min: 0
        max: 2^32-1
        

        規律:

        有符號的最大值為:2^(字節位數-1)-1;
        有符號的最小值為:-2^(字節位數-1);
        
        無符號的最大值為:2^字節位數-1;
        無符號的最小值為:0;
        

        浮點型

        float (常用) 4B
        double 8B

        4.0    100.0
        2.0     10.0
        1.0      1.0
        1.5      1.1
        0.1      0.0001 100…
        

        乘二取整法(順序取整)

        0.1    0.0001 100…  
        
        十進制數轉換成二進制數是取不完的。
        0.2    0
        0.4    0
        0.8    0
        1.6    1
        0.6 
        1.2    1
        0.2    0
        0.4    0
        

        四、ASCII 碼

        凡是字符,都要看成一個數字。

        Int j=’B’;
        Char a=’B’;
        Printf(“/b /b”,j,a);
        輸出:66 66

        五、電腦中的加減

        65         0100 0001
        71         0100 0111
        65+71  ->  1000 1000     -120
        

        六、類型轉換

        char j = 65;
        unsingned int a = 0;
        
        j = j + 71;
        a = j;
        Printf(/d /b”,j,a);
        輸出:-120 136
        
        
        65+71   ->  1000 1000  -120(負數)
                    1000 1000   136(正數)
        

        (與取值范圍有關:char為正負125,unsingned int為0到256)


        七、程序

        switch(){
        case 1: break;
        default:           //default可以放在任意位置
        }
        

        //根據優先級調整case的順序,如大部分學生成績在六七十,則將case6,case7調前,可以優化程序。

        當if()里的語句為1或其他不為0的數時,則執行,若為0,則不執行。

        X>20 也是一個數,邏輯,正確為1,錯誤為0.
        如:

        int x = 45,i = 0;
            i = x > 40;
        輸出i,得 1.
        

        While();
        Int i=0;
        While(i<11)i++;
        For(;i<11;i++);

        八、位運算

        << >> & | ^

        << >>(左移,右移運算)

        char i = 64;    //       0100 0000
        i = i << 1;     //左移   1000 0000
        輸出i;得 -128.
        

        &(與運算)

        A  0   0   1
        B  0   1   1
        
        C = A & B;
        
        C  0   0   1
        

        (有0皆為0,雙1則不變。)

        i = 0110 1001;
        j = 0011 1100;
        i = i & j;
        i = 0010 1000;
        

        |(或運算)

        同理,|(或邏輯),有1則為1;雙0則不變。

          1101 1100
          0010 1101
        ->1111 1101
        

        非運算

        非0值為0;0值為1;

        int i = 101;
        i = !i;
        輸出i,0.
        

        按位取反

        i = ~i;
          1001 0010
        ->0110 1101
        

        ^(亦或)

        相同為1,相異為0;

        只設置第五位為1=>  i=i |(1<<5);
              00001001 00001001 00001001 00001001
              00000000 00000000 00000000 00010000
              00001001 00001001 00001001 00011001
              
        只設置第五位為0=>  i=i&~(1<<5);
              00001001 00001001 00001001 00011001
              00000000 00000000 00000000 00010000
              11111111 11111111 11111111 11101111
              00001001 00001001 00001001 00001001
        

        cs
        下一篇:沒有了
      英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 大番薯:編程術語英漢對照 PHP中16個高危函數 PHP讀取word文檔的方法分析 匯編語言和c語言的區別有哪些 怎么判斷流量波動?網站流量日記法介紹 這些網站優化常見問題站長必知 C# 顯示、隱藏窗口對應的任務欄 PyCharm插件開發實踐之PyGetterAndSetter詳解 基于IntelliJ IDEA/Android Studio插件開發指南(推薦) 解決啟用 Spring-Cloud-OpenFeign 配置可刷新項目無法啟動的問題 深入淺析Go中三個點(...)用法 VeriSign要求注冊商對Com域名資料進行審查 聊聊golang怎么調用php7 新鮮出爐的Go面試題(百度和米哈游) php8的注解你了解多少? 網站SEO優化選擇關鍵詞的5大注意事項 seo引流技巧:思維與實操層面上的內容+渠道方是推廣優化的主導 使用spring框架實現數據庫事務處理方式 SpringBoot默認使用HikariDataSource數據源方式 spring boot中配置hikari連接池屬性方式 Feign 使用HttpClient和OkHttp方式
      成本人片无码中文字幕免费

      1. <span id="4x4v6"></span>

        1. <button id="4x4v6"><acronym id="4x4v6"></acronym></button>

          <tbody id="4x4v6"></tbody>

          <dd id="4x4v6"><pre id="4x4v6"></pre></dd>