表示方法
16進制舉例說明
6進制的20表示成10進制就是:2×16¹+0×16º=32
10進制的32表示成16進制就是:20
十進制數可以轉換成十六進制數的方法是:十進制數的整數部分“除以16取余”,十進制數的小數部分“乘16取整”,進行轉換。
比如說十進制的0.1轉換成八進制為0.0631463146314631。就是0.1乘以8=0.8,不足1不取整,0.8乘以8=6.4,取整數6,0.4乘以8=3.2,取整數3,依次下算。
編程中,我們常用的還是10進制.畢竟C/C++是高級語言。
比如:
inta=100,b=99;
不過,由於數據在計算機中的表示,最終以二進制的形式存在,所以有時候使用二進制,可以更直觀地解決問題。
C,C++沒有提供在代碼直接寫二進制數的方法。用16進制或8進制可以解決這個問題。因為,進制越大,數的表達長度也就越短。2、8、16,分別是2的1次方、3次方、4次方。這一點使得三種進制之間可以非常直接地互相轉換。8進制或16進制縮短了二進制數,但保持了二進制數的表達特點。
轉換
二進制轉換十進制
二進制數第0位的權值是2的0次方,第1位的權值是2的1次方
所以,設有一個二進制數:101100100,轉換為10進制為:356
用橫式計算
0×20+0×21+1×22+0×23+0×24+1×25+1×26+0×27+1×28=356
0乘以多少都是0,所以我們也可以直接跳過值為0的位:
1×22+1×25+1×26+1×28=356
4+32+64+256=356
八進制轉換十進制
八進制就是逢8進1。
八進制數采0~7這八數來表達一個數。
八進制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方
所以,設有一個八進制數:1507,轉換為十進制為:839,具體方法如下:
可以用橫式直接計算:
7×80+0×81+5×82+1×83=839
也可以用豎式表示
第0位7×80=7
第1位0×81=0
第2位5×82=320
第3位1×83=512
十六進制轉換十進制
16進制就是逢16進1,但我們只有0~9這十個數字,所以我們用A,B,C,D,E,F這六個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
十六進制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方
所以,在第N(N從0開始)位上,如果是數β(β大於等於0,並且β小於等於15,即:F)表示的大小為β×16的N次方。
表達方法
16進制CC++的表達方法
如果不使用特殊的書寫形式,16進制數也會和10進制相混。隨便一個數:9876,就看不出它是16進制或10進制。
C,C++規定,16進制數必須以0x開頭。比如0x1表示一個16進制數。而1則表示一個十進制。另外如:0xff,0xFF,0X102A,等等。其中的x也不區分大小寫。(注意:0x中的0是數字0,而不是字母O)
以下是一些用法示例:
inta=0x100F;
intb=0x70+a;
至此,我們學完了所有進制:10進制,8進制,16進制數的表達方式。最後一點很重要,C/C++中,10進制數有正負之分,比如12表示正12,而-12表示負12,;但8進制和16進制只能表達無符號的正整數,如果你在代碼中寫:-078,或者寫:-0xF2,C,C++並不把它當成一個負數。
在轉義符中的使用
轉義符也可以接一個16進制數來表示一個字元。如\'?\'字元,可以有以下表達方式:
\'?\'//直接輸入字元
\'\77\'//用八進制,此時可以省略開頭的0
\'\0x3F\'//用十六進制
同樣,這一小節只用於了解。除了空字元用八進制數\'\0\'表示以外,我們很少用後兩種方法表示一個字元。
標準表示
十六進制如:十制數123表示為:123D或者123;二進制數1011表示為:1011B;十六進制數3A4表示為:3A4H。
另外在編程中十六進制數也用“0x”作為開頭。
意義
用於計算機領域的一種重要的數制。
對計算機理論的描述,計算機硬體電路的設計都是很有益的。比如邏輯電路設計中,既要考慮功能的完備,還要考慮用儘可能少的硬體,十六進制就能起到一些理論分析的作用。比如四位二進制電路,最多就是十六種狀態,也就是一種十六進制形式,只有這十六種狀態都被用上了或者儘可能多的被用上,硬體資源才發揮了儘可能大的作用。
十六進制更簡短,因為換算的時候一位16進制數可以頂4位2進制數。
你可以在二進制前加幾個0,意義不變。
| 二進制 | 八進制 | 十進制 | 十六進制 |
| 0 1 | 0 1 | 0 1 | 0 1 |
| 10 | 2 | 2 | 2 |
| 11 | 3 | 3 | 3 |
| 100 | 4 | 4 | 4 |
| 101 | 5 | 5 | 5 |
| 110 | 6 | 6 | 6 |
| 111 | 7 | 7 | 7 |
| 1000 | 10 | 8 | 8 |
| 1001 | 11 | 9 | 9 |
| 1010 | 12 | 10 | A |
| 1011 | 13 | 11 | B |
| 1100 | 14 | 12 | C |
| 1101 | 15 | 13 | D |
| 1110 | 16 | 14 | E |
| 1111 | 17 | 15 | F |
| 10000 | 20 | 16 | 10 |
| 10001 | 21 | 17 | 11 |
| 10010 | 22 | 18 | 12 |
| 10011 | 23 | 19 | 13 |
| 10100 | 24 | 20 | 14 |
| 10101 | 25 | 21 | 15 |
| 10110 | 26 | 22 | 16 |
| 10111 | 27 | 23 | 17 |
| 11000 | 30 | 24 | 18 |
| 11001 | 31 | 25 | 19 |
| 11010 | 32 | 26 | 1A |
| 11011 | 33 | 27 | 1B |
| 11100 | 34 | 28 | 1C |
| 11101 | 35 | 29 | 1D |
| 11110 | 36 | 30 | 1E |
| 11111 | 37 | 31 | 1F |
| 100000 | 40 | 32 | 20 |
| 100001 | 41 | 33 | 21 |
| 100010 | 42 | 34 | 22 |
| 100011 | 43 | 35 | 23 |
| 100100 | 44 | 36 | 24 |
| 100101 | 45 | 37 | 25 |
| 100110 | 46 | 38 | 26 |
| 100111 | 47 | 39 | 27 |
| 101000 | 50 | 40 | 28 |
| 101001 | 51 | 41 | 29 |
| 101010 | 52 | 42 | 2A |
| 101011 | 53 | 43 | 2B |
| 101100 | 54 | 44 | 2C |
| 101101 | 55 | 45 | 2D |
| 101110 | 56 | 46 | 2E |
| 101111 | 57 | 47 | 2F |
| 110000 | 60 | 48 | 30 |
| 110001 | 61 | 49 | 31 |
| 110010 | 62 | 50 | 32 |
| 110011 | 63 | 51 | 33 |
| 110100 | 64 | 52 | 34 |
| 110101 | 65 | 53 | 35 |
| 110110 | 66 | 54 | 36 |
| 110111 | 67 | 55 | 37 |
| 111000 | 70 | 56 | 38 |
| 111001 | 71 | 57 | 39 |
| 111010 | 72 | 58 | 3A |
| 111011 | 73 | 59 | 3B |
| 111100 | 74 | 60 | 3C |
| 111101 | 75 | 61 | 3D |
| 111110 | 76 | 62 | 3E |
| 111111 | 77 | 63 | 3F |
| 1000000 | 100 | 64 | 40 |
| 1000001 | 101 | 65 | 41 |
| 1000010 | 102 | 66 | 42 |
| 1000011 | 103 | 67 | 43 |
| 1000100 | 104 | 68 | 44 |
| 1000101 | 105 | 69 | 45 |
| 1000110 | 106 | 70 | 46 |
| 1000111 | 107 | 71 | 47 |
| 1001000 | 110 | 72 | 48 |
| 1001001 | 111 | 73 | 49 |
| 1001010 | 112 | 74 | 4A |
| 1001011 | 113 | 75 | 4B |
| 1001100 | 114 | 76 | 4C |
| 1001101 | 115 | 77 | 4D |
| 1001110 | 116 | 78 | 4E |
| 1001111 | 117 | 79 | 4F |
| 1010000 | 120 | 80 | 50 |
| 1010001 | 121 | 81 | 51 |
| 1010010 | 122 | 82 | 52 |
| 1010011 | 123 | 83 | 53 |
| 1010100 | 124 | 84 | 54 |
| 1010101 | 125 | 85 | 55 |
| 1010110 | 126 | 86 | 56 |
| 1010111 | 127 | 87 | 57 |
| 1011000 | 130 | 88 | 58 |
| 1011001 | 131 | 89 | 59 |
| 1011010 | 132 | 90 | 5A |
| 1011011 | 133 | 91 | 5B |
| 1011100 | 134 | 92 | 5C |
| 1011101 | 135 | 93 | 5D |
| 1011110 | 136 | 94 | 5E |
| 1011111 | 137 | 95 | 5F |
| 1100000 | 140 | 96 | 60 |
| 1100001 | 141 | 97 | 61 |
| 1100010 | 142 | 98 | 62 |
| 1100011 | 143 | 99 | 63 |
| 1100100 | 144 | 100 | 64 |

