본문 바로가기

카테고리 없음

16진수(hex) 용량 계산 빠르게 하기

흔히 용량을 얘기할 때 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