iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 9
0
自我挑戰組

計算機概論X30天系列 第 9

Day9:[計算機概論]十六進位的實用價值,原來色票是十六進位!

▌挑戰簡介

  • 題目:計算機概論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邦幫忙的「天藍色」

https://ithelp.ithome.com.tw/upload/images/20181020/20112011ZmCTXzqlmB.png

但其實算這個一點意義也沒有XD

一些練習(不重要)

  • 4AF轉成二進位

0100 1010 1111(查表就知道了)

  • 4AF轉成十進位

4X16^2+10X16^1+15X16^0=1199(跟二進位轉十進位的方式差不多)

結論

  • 十六進位最有用的地方是——「可以縮短二進位表示法
    • 一個Byte(字符)可以用「兩個連續的十六進位字符」表示
  • 色票就是一種十六進位表示法
    • 白色(255,255,255)轉成十六進位就是#FFFFFF
    • 黑色(0,0,0,0)轉成十六進位就是#000000

上一篇
Day8:[計算機概論]十進位和二進位的轉換
下一篇
Day10:[學習工具]我學習一門技能的流程
系列文
計算機概論X30天30

尚未有邦友留言

立即登入留言