티스토리 뷰

CS

메모리 32비트와 64비트

주디 𝙹𝚞𝚍𝚢 2022. 3. 2. 22:45

 컴퓨터를 좀 다루다보면 32비트, 64비트를 많이 들어봤을 것이다.

 컴퓨터에서의 데이터는 0 아니면 1로 표시된다. 이런 데이터를 나타내기 위해, 0과 1로만 표시하는 2진법을 사용하고, 0 아니면 1로 표시되는 숫자 한 칸을 쉽게 생각하면 한 비트라고 생각하면 된다. 그렇다면 32비트의 운영체제라고 하면 32개의 비트로 정보를 나타내는 것이고, 64비트라면 64개의 비트로 정보를 나타내는 것이다.

 그렇다면 총 몇 개의 정보를 나타낼 수 있을까? 1개의 비트로 나타낼 수 있는 정보는 0 아니면 1로 2가지이다. 그렇다면 1비트일 때 2개의 경우의 수를 갖게 되는데, 32비트라면 2개의 경우의 수가 동시에 32개가 있는 것이므로 2^32개가 된다. 그말인즉,

 0000 0000 0000 0000 0000 0000 0000 0000부터 1111 1111 1111 1111 1111 1111 1111 1111까지의 범위를 갖는다는말이다.

 64비트도 위와 같이 생각해보면 2^64개의 경우의 수를 갖는다. 경우의 수가 2^32개일 때, 정확하게 따져보면 4,294,967,296개가 된다. 이 때, 각각의 경우의 수 한 가지는 4바이트로 표현된다. (위에서 설명한대로 32비트는 비트 32개로 정보를 표현하고, 비트 32개는 4바이트가 되므로.) 그러면 4,294,967,296는 4바이트가 되고 기가바이트로 변환하는 과정은 아래와 같다.

4,294,967,296 중 한 가지 경우는 4바이트로 구성되고, 편의상 4KB로 바꾸려면 1024로 나누면 4,194,304가 된다. 이것을 또 4MB로 바꾸려면 1024로 나누고, 결과는 4096이 된다. GB로 바꾸려면 마지막으로 1024로 나눠주고, 그러면 최종적으로 4GB가 된다.

 똑같은 과정으로 64비트일 때도 계산을 해보자. 2^64개의 경우의 수를 갖고, 18,446,744,073,709,551,616개의 경우가 된다. 64비트는 8바이트로 표시되고, 즉 경우의 수 한 가지는 8바이트가 된다.(= 총 2^64개의 경우의 수 중 각각의 경우의 수 한 가지는 8바이트로 표현된다.) 18,446,744,073,709,551,616를 위처럼 변환하는 과정은 아래와 같다.

18,446,744,073,709,551,616를 GB로 바꾸려면 1024로 나눠주는 과정을 세 번 거쳐야 하고, 결과는 17,179,869,184GB가 된다. 숫자가 너무 크므로 좀 더 나눠보자. GB에서 1024로 세 번 더 나눠주면(GB -> TB -> PB(페타바이트) -> EB) 16EB가 된다.

 그래서 결과적으로 32비트에서의 메모리 한계는 4GB, 64비트에서의 메모리 한계는 16EB가 된다. 이 이상이 되면 정보를 표현할 수 없으므로!

300x250

'CS' 카테고리의 다른 글

방통대 선형대수 행렬 A+ 요약 정리  (0) 2023.07.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함