寫程式的時候,有各種理由使用 16 進位。
其中一個理由是提醒工程師 - 我們要處理bits(用電腦世界的觀點),而不是處理數字(用人類世界的觀點)。使用 16 進位代表我們要處理相對低階的問題 (例如:記憶體資料的型式是必須被考慮)。
以下2個例子說明 16 進位使用時機:
[範例1]
使用 bit shift (x << y) 比使用"乘法"更為清楚:
1 << 10 = KB, 1 << 20 = MB, 1 << 30 = GB
建立一個 16 KB 的array: var buffer = new byte[16 << 10]
[範例2]
在 enum 當中, 項目是從 0 開始,而且依序加 1:
使用 16 進位可以避免'負數'產生
使用 16 進位可以使用bitwise AND (&) and OR (|) operators
相關連結:
Why are flag enums usually defined with hexadecimal values: stackoverflow
使用16進位的好處是?? ptt
沒有留言:
張貼留言