題目:計算機概論X30天
挑戰內容:連續30天紀錄計算機概論、離散數學、演算法、資料結構等課程,還有自己學習程式的心得體悟。
本篇性質:適合任何對程式語言有興趣的人閱讀
上篇談了二進位和十進位的,這次來談十六進位。
以下是十六進位、十進位、二進位對照表
十六進位 十進位 二進位
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
二進位已經很難了,十六進位是要幹嘛?
我認爲十六進位最有用的意義就是——「可以把二進位表示法變得短一點」
根據上表,可以知道每4個bit
就可以用一個十六進位字符
表示
前篇說過,1Byte=8bit,因此1Byte只要用「2個」十六進位字符就可以表示了
比如說有一個Byte=00011010,但這太長了,但轉成十六進位,就變成「1A」(變得很簡單吧~)
常見的色票,其實就是16進位表示法的結果
有點Phtospshop使用經驗的人,應該都知道每個顏色是RGB三種光組成的
R(紅光):0~255(0表示完全沒有紅光,255表示充滿紅光)
G(橘光):0~255(0表示完全沒有橘光,255表示充滿橘光)
B(藍光):0~255(0表示完全沒有藍光,255表示充滿藍光)
那「白色」的(R,G,B)十進位表示法就是(255,255,255)
用二進位表示法就是(11111111,11111111,11111111)(長的不得了)
這時候就轉成十六進位
就變成(FF,FF,FF)
於是就變成常見的#FFFFFF白色色票
那「黑色」的(R,G,B)十進位表示法就是(0,0,0)
用二進位表示法就是(00000000,00000000,00000000)(長的不得了)
這時候就轉成十六進位
就變成(00,00,00)
於是就變成常見的#000000黑色色票
#00A0E9 是什麼顏色呢?
轉乘十進位的RGB就知道了
R(紅光)=00(十六進位)=0(十進位)
G(橘光)=A0(十六進位)=160(十進位)
B(藍光)=E9(十六進位)=233(十進位)
所以#00A0E9,轉成RGB是(0,160,233)
其中B是233,因此判斷一個偏藍色的顏色
其實他是IT邦幫忙的「天藍色」
但其實算這個一點意義也沒有XD
0100 1010 1111(查表就知道了)
4X16^2+10X16^1+15X16^0=1199(跟二進位轉十進位的方式差不多)
色票
就是一種十六進位表示法