본문 바로가기
lesson/computer architecture

0xf, 0xff, 0xfff, 0xffff은 무슨 의미인가

by Peter Choi 2023. 6. 27.
반응형

컴퓨터 메모리에 대해 공부하다 보면, 제목과 같은 표현이 아주 많이 등장한다.

 

앞의 0x는 뭘 의미하고? 뒤의 ffff은 무엇인가? 

 

우선 앞의 0x는 16진수를 의미한다. 0부터 9까지, 그리고 A부터 F까지, 총 15에 해당하는 최대값을 자리수로 가지는 방법을 의미한다.

 

그렇다면 f는 15를 의미하기에,

 

0xf = 15*16^0,

0xff = 15*16^1 + 15*16^0,

0xfff = 15*16^2 + 15*16^1 + 15*16^0,

0xffff= 15*16^3 + 15*16^2 + 15*16^1 + 15*16^0

 

를 의미한다. 

 

이를 32비트 상에서 메모리 주소로 표현한다면,

0xf = 0000 0000 0000 0000 0000 0000 0000 1111,

0xff = 0000 0000 0000 0000 0000 0000 1111 1111,

0xfff = 0000 0000 0000 0000 0000 1111 1111 1111,

0xffff = 0000 0000 0000 0000 1111 1111 1111 1111

 

로 표현 가능하다 (64비트는 저 조합 앞에 각각 0을 32개 더 붙여주면 된다)

 

위의 과정을 눈으로든지 손으로든지로 따라와 본 사람들은 느끼겠지만, 이진수로 쓰려니 어떤 생각이 들지는 다 알것이다. 16진수가 확실히 편하다는 것이다. (너무 당연한 얘기다) 그래서 컴퓨터 상에서는 저런 16진수를 자주 쓸 수 밖에 없다. 

 

 

반응형

댓글