우선 byte는 8bit라는 것을 알아야합니다.
단위 | 기호 | 크기 (기준: 바이트) | 설명 |
비트 | bit | 1 bit | 데이터의 최소 단위 (0 또는 1) |
바이트 | B | 8 bits | 1문자 = 1바이트 (ASCII 기준) |
킬로바이트 | KB | 1,024 B | 약 1천 바이트 |
메가바이트 | MB | 1,024 KB = 1,048,576 B | 약 100만 바이트 |
기가바이트 | GB | 1,024 MB = 1,073,741,824 B | 약 10억 바이트 |
테라바이트 | TB | 1,024 GB = 1,099,511,627,776 B | 약 1조 바이트 |
bit < byte < KB < MB < GB < TB
최근 일상생활에서 사용하는 용량은 보통 기가바이트(GB), 테라바이트(TB)일 것입니다.
하지만 제가 어렸을때는 1GB면 진짜 큰 거였습니다.
제가 쓰던 MP3가 500MB였던가 그런 거 같은데....
아무튼 이게 처음의 시작은 bit란 말입니다.
bit는 0과 1로 이루어진, 컴퓨터가 이해할 수 있는 가장 작은 단위의 데이터입니다.
컴퓨터하면 떠오르는 장면이죠?
이런게 다 이유가 있는 겁니다.
넘어가서,
이런 bit 8개로 이루어진게 바로 Byte입니다.
그러면서 표현할 수 있는 숫자가 2의 8승 즉, 256개 인거죠.
이를 0을 기준으로 나누기에
1 byte가 -128부터 127까지를 나타낼 수 있는 겁니다.
좀 더 자세히 이야기하면,
대부분의 언어는 2의 보수(Two's complement) 방식을 사용하여 음수를 표현합니다.
이게 무엇이냐?
가장 왼쪽의 1비트를 부호 비트(sign bit)로 사용하는 겁니다.
0이면 양수, 1이면 음수
그렇기에 숫자를 표현할 때 사용할 수 있는 비트의 수는 8 - 1 = 7비트인거죠
그렇기에
최솟값 = -2의 7승 = -128
최댓값 = 2의 7승 - 1(0을 제외) = 127
즉, 128 + 127 + 1 = 256개가 되는 겁니다.
이와 똑같은 방식으로
자료형 | 크기(Byte) | 비트 수 | 표현 범위 |
byte | 1 | 8 | -128 ~ 127 |
short | 2 | 16 | -32,768 ~ 32,767 |
int | 4 | 32 | -2,147,483,648 ~ 2,147,483,647 |
long | 8 | 64 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
이렇게 자료형마다 표현할 수 있는 범위가 달라지는 겁니다.
728x90
'공부 > 기타' 카테고리의 다른 글
Spring Boot Error - Whitelabel Error Page (0) | 2025.04.26 |
---|---|
MySQL - JOIN 사용법(INNER, LEFT, RIGHT, FULL OUTER) (1) | 2024.02.13 |
비트 연산자 사용하기 - 2편 (NOT 연산의 과정, 5의 NOT이 -6인 이유) (0) | 2024.01.22 |
비트 연산자 사용하기 - 1편 (0) | 2024.01.22 |
Character 메소드 활용 (0) | 2024.01.04 |