c언어 처음 부분 보는데
32비트 운영체제에서 4기가 바이트의 램을 다룬다는 말이 이해 안감
2^32 해놓고 결과가 약42억 이니까 42억 바이트는 4기가램 이래놓고 끝이라
내가 이해하기론
32비트의 경우의 수는 2^32이니까 4294967296개의 경우의수를 가지는데
이 경우의 수 하나가 32비트 짜리니까 4바이트이고, 용량이 4바이트 짜리가 4294967296개 있다는 말 아니야?
그럼 4294967296 x 4 = 17179869184 ..... 약 171억 바이트 = 16기가 바이트
32비트 운영체제에서 16기가 바이트 램을 다뤄야하는거 아님?
뭐지 뭘 놓친거지 시발
32비트 운영체제에서는 변수 주소값이 32비트다. 그래서 그런거다.
ㄴ 초반엔 그런 설명 없던데 어디쯤에 나옴? 포인터?
운영체제관련해서 읽어봐라
프로그래밍원리책도 읽고 잼슴
비트가 나타내는 메모리주소에는 비트하나가 매핑됨
니가 생각하는 2차원적인 구조가 아니라 메모리는 선형이로 죽 늘어져있고 이걸 몇자리씩 끊어서 읽음
32비트면 표현할 수 있는 메모리는 4기가 바이트고 인티저가 4바이트라치면 최대 1기가개 인티저 저장가능
니가 헷갈리는게 십진법으로 천가지 숫자 표현하려면 숫자가 3개 필요한거지 10^3개 필요한게 아닌거랑 똑같음
비트가 나타내는 메모리주소에는 비트하나 대응한다 했는데 비트아니라 바이트임 잘못씀
이건 뭔 개소리야
이해를 어떻게 저렇게 하지?
뭔 개소린지 이해도안됨
2의 32승 = 4GB. 고로 4GB를 모두 access하려면 32비트 addressing이 필요한것임
좀더 말하면 CPU가 메모리의 어떤 주소영역에서 데이터를 가지고 와야 한다면 CPU는 명령을 보내는데 이 때 명령어의 길이가 32비트라는 말임.