Page 22 -
P. 22
hex() 함수는 정수를 16진수로 표현합니다. 2진수로 표현하면 8비트를 표현하는 데 여덟
자릿수가 필요하지만, 16진수로 표현하면 두 자릿수로 간단히 나타낼 수 있어 가독성을 높
일 수 있습니다. 이러한 이유로 메모리 주소를 나타낼 때는 16진수를 사용합니다.
32비트 컴퓨터는 서른두 자릿수의 2진수 수가 아닌 여덟 자릿수의 16진수 수를 이용해 표현
합니다.
>>> address_32비트 = 0x1234abcd
>>> bin(address_32비트)
'0b10010001101001010101111001101'
지금까지 10진수, 2진수, 16진수에 대해 알아보고 진수 변환도 해 보았습니다. 또한 메모리
주소를 16진수로 표현하는 방법도 살펴보았습니다. 이제 본격적으로 컴퓨터가 정수를 표현
하는 방법을 알아봅시다.
6 양의 정수
컴퓨터는 정수(integer)를 1바이트, 2바이트, 4바이트, 8바이트 등 다양한 크기로 저장합니
다. 하지만 이 책에서는 이해하기 쉽게 1바이트를 기준으로 설명하겠습니다.
정수에는 양수와 음수가 있으므로 부호를 나타내는 데 1비트를 사용합니다. 맨 앞의 비트가
0이면 양수, 1이면 음수입니다.
예를 들어 25를 메모리에 저장할 때 맨 앞의 비트는 양수이므로 0이 됩니다. 10진수 25를 2진
수로 변환하면 11001이므로 나머지 비트를 0으로 채우면 메모리에 다음과 같이 저장됩니다.
그림 2‑3 25가 메모리에 저장된 형태
양수이므로 0 빈 곳은 0으로 채우기 25
2장 정수 27