반응형
컴퓨터 메모리에 대해 공부하다 보면, 제목과 같은 표현이 아주 많이 등장한다.
앞의 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진수를 자주 쓸 수 밖에 없다.
반응형
'lesson > computer architecture' 카테고리의 다른 글
메모리 구조: 코드, 데이터, 힙, 스택 (0) | 2024.06.17 |
---|---|
컴퓨터 파일 용량 확인 (0) | 2024.06.16 |
빅 엔디안과 리틀 엔디안 (0) | 2024.02.06 |
자유 저장소와 자동 메모리 (0) | 2024.01.28 |
RISC-V 32비트 명령어와 format (0) | 2023.11.04 |
댓글