본문 바로가기
코드/C++

128TB를 16진수로 변환

by bongin 2023. 7. 7.
728x90
반응형

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는 커널에서 사용하는 주소이다.

 

 

728x90
반응형

'코드 > 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

댓글