흔히 용량을 얘기할 때 KB, MB, GB를 사용한다.
하지만 16진수를 사용할 때는 빠르게 떠오르지 않아서 좀 더 빨리 계산할 수 있는 패턴이 있나 생각하다가.....
생각해보니...다음과 같이 도움이 될 수도(?) 있는 것들..도움이 조금 되는 것 같기도 하여 정리해 본다.
- First Patten
1KB : 2의 10제곱
1MB : 2의 20제곱
1GB : 2의 30제곱
1TB : 2의 40제곱
...이고
16진수 digit 하나는 2의 4제곱이니까...
다음처럼 2의 20제곱의 배수는 다음처럼 딱 떨어짐을 발견
1MB : 0x100000 (0x0이 5개 즉, 2의 4제곱 * 5)
1TB : 0x10000000000 (0x0이 10개)
=> 16진수에서 자리수의 개수가 5의 배수이면 용량 짐작이 훨씬 쉽네.
- Second Pattern
16진수는 자리가 증가할 때마다 16이 곱해진다
그렇다면 자리가 증가할 때마다 일정 패턴이 있을까?
0x1 => 1
0x10 => 16
0x100 => 256
0x1000 => 4K
0x1000 => 64KB
0x100000 => 1MB(First Pattern으로 간단하게 알 수 있음)
자리수가 늘어날 때마다
1=>16=>256=>4(Kilo만큼 단위 증가)=>64=>1(Kilo만큼 단위 증가)
1MB 단위에서 다시 1이 나왔으므로 MB만 빼면 1=>16=>256...패턴이 되겠군.
- 유용성 테스트
0x10000000000(0x0이 10개) : First Patten으로 바로 1GB
0x4000
Second Pattern 사용하여 먼저 사용하여 먼저 0x1000을 구해보면 1=>16=>256=>4K이고
곱하기 4를 해주면 16K