C語言基礎之十進制與二進制轉換

一、二進制 八進制 十進制 十六進制

  1. 二進制:逢二進一           數字只包含  0 1                                                  例:1001
  2. 八進制:逢八進一           數字包含      0 1 2 3 4 5 6 7                                例:0754   (0開頭)
  3. 十進制:逢十進一           數字包含      0 1 2 3 4 5 6 7 8 9                          例:1243
  4. 十六進制:逢十六進一    數字包含      0 1 2 3 4 5 6 7 8 9 A B C D E F     例:0x1A2B(0x開頭)

二、進制間的轉換

        1)位與權   例 :  93  =  9   *   10   +   3   *   1

                                               位       權        位      權

              整數93在一個字節中的二進制形式: 0     1     0     1     1     1     0     1    ---  位

                                                                        128  64   32   16    8    4     2     1    ---  權

         2)零和整數:

               A)二進制轉十進制:一位加權,零位不見(凡是1的位就把權加上,凡是0的位就當看不見)

                     01011101 = 64 + 16 + 8 + 4 + 1 = 93             01101101 = 1 + 4 + 8 + 32 + 64 = 109

               B)十進制轉二進制:有權添一,無權補0

                     93 - 64 = 29 -16 = 13 - 8 =  5 - 4 = 1  ==》 01011101

                     109 - 64 = 45 - 32 = 13 - 8 = 5 - 4 = 1  ==》 01101101

         3)負數: 符號位爲1

              A)二進制轉十進制:取反加1,轉十添負      或者    減1取反,轉十添負

                      10100011--取反-->01011100--加1-->01011101--轉換十進制-->93--添負--> -93

                      10010011--取反-->01101100--加1-->01101101--轉成十進制 -->109--添負--> -109

              B)十進制轉二進制:去負轉二,取反加1

                       -93--去負-->93--轉二-->01011101--取反-->10100010--加1-->10100011

                       -109--去負-->109--轉二-->01101101--取反-->10010010--加1-->10010011

  1. 二進制與十進制轉換

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章