1TB를 16진수로 변환하는 과정이다.
구글 검색하면 엉망진창인 데이터가 너무 많다.
초보자들이 혼동할 가능성이 높다.
8bit = 2^8 = 256 = 1Byte
1Byte = 0x100 (= 16^2 + 16^1 + 16^0)
1KB = 1024 * 1Byte = 1024 * 256 = 0x40000
1KB = 1024 * 1Byte = 0x400 * 0x100 = 0x40000
참고로
1024는 bit로 0100 0000 0000
256은 bit로 0001 0000 0000
1024 * 256은 bit로 0100 0000 0000 0000 0000
1MB = 1024 * 1KB = 1024 * 1024 * 256 = 0x1000 0000
1MB = 1024 * 1KB = 0x400 * 0x400 * 0x100 = 0x1000 0000
1GB = 1024 * 1MB = 1024 * 1024 * 1024 * 256 = 0x40 0000 0000
1GB = 1024 * 1MB = 0x400 * 0x400 * 0x400 * 0x100 = 0x40 0000 0000 (0 * 8, 0 * 1)
1TB = 1024 * 1GB = 1024 * 1024 * 1024 * 1024 * 256 = 0x1 0000 0000 0000
1TB = 1024 * 1GB = 0x400 * 0x400 * 0x400 * 0x400 * 0x100 = 0x1 0000 0000 0000 (0 * 10, 0 * 2)
128TB = 128 * 1024 * 1GB = 128 * 1024 * 1024 * 1024 * 1024 * 256 = 0x80 0000 0000 0000
128TB = 128 * 1024 * 1GB = 0x80 * 0x400 * 0x400 * 0x400 * 0x400 * 0x100 = 0x80 0000 0000 0000
모든 프로세스는 메모리를 각각 최대 128TB의 용량을 가질 수 있다.
0x0000 0000 0000 0000 ~ 0x0000 7FFF FFFF FFFF (갯수로 0x0001 0000 0000 0000)
48bit로 표현한 곳도 있는데 이는 16진수의 한자리가 4bit이므로
12자리 * 4bit = 48bit 이다.
0x0001 0000 0000 0000 ~ 0xFFFF 7FFF FFFF FFFF는 Noncanonical adress로 할당될 수 없는 영역이다.
0xFFFF 8000 0000 0000 ~ 0xFFFF FFFF FFFF FFFF는 커널에서 사용하는 주소이다.
'코드 > C++' 카테고리의 다른 글
OpenGL 환경설정 (0) | 2023.07.24 |
---|---|
서브시스템 (0) | 2023.07.09 |
6개의 버튼을 가진 윈도우 생성 (LNK2019, LNK1120) (0) | 2023.06.20 |
버튼 클릭 시 메세지 출력 (0) | 2023.05.16 |
Chapter04_Game programming in c++ (0) | 2022.09.17 |
댓글