목차
1. 비트와 바이트
2. 진법
1. 비트와 바이트
한 자리의 2진수를 '비트'라고 하며, 1 비트는 컴퓨터가 값을 저장할 수 있는 최소 단위이다. 하지만 이는 너무 작은 단위이고 보통 8비트인 1바이트를 데이터의 기본 단위로 사용한다.
*참고
워드: CPU가 한번에 처리할 수 있는 데이터의 크기 64비트 CPU에서는 64비트 = 8 바이트가 1워드이다.
2. 진법
2.1 진법 변환
10진수를 다른 진수로 변환하려면, 해당 진수로나누고 나머지 값을 옆에 적는 것을 더 이상 나눌 수 없을 때까지 반복한 다음 마지막 몫과 나머지를 아래부터 위로 순서대로 적으면 된다. 그냥 그림으로 보는 게 이해가 빠르다.
88 = 1011000(2)
n진수를 10진수로 변환하는 경우는 각 자리의 수에 해당 단위의 값을 곱해 모두 더해주면 된다.
123(2) = 1 x 2^2 + 2 x 2^1 + 3 x 2^0
2.2 실수 진법 변환
기존의 진법 변환과 반대로 원하는 진수로 계속 곱하면 된다.
ex) 0.625
0.625 x 2 = 1.25
0.25 x 2 = 0.5
0.5 x 2 = 1.0
0.625(10) -> 0.101(2)
2.3 음수의 2진 표현 - 2의 보수법
어떤 수의 n의 보수: 더했을 때 n이 되는 수
ex) 7의 '10의 보수'는 3
이 때 3과 7은 10의 보수 관계에 있다고 한다.
2의 보수 관계는 어떤 두 수를 더해 2가 되는 관계를 뜻한다.
예를 들어 1 + 1 = 2이다. 이를 이진수로 나타내보자.
01(2) + 01(2) = 10(2) 이다.
여기서 주목할 점은 "자리올림이 발생하고 기존 자리가 0이 되었다는 점"이다. 이를 활용하여 음수를 표현하는데 아래의 표를 보며 이해해 보자.
5는 0101(2)이고, -5는 1011(2)이다. 이 둘을 더하면 10000(2)이 된다. 양수 5인 0101(2)와 2의 보수 관계에 있는 수는 1011(2)이다. 이 수를 -5로 하기로 한다.
이렇게 "자리올림이 발생하고 기존 자리가 0이 되는 점" 이 되게 하는 수로 음수를 표현하게 된다.
2의 보수법으로 음수를 구하는 방법
1. 구하고자하는 음수의 절댓값을 2진수로 표현한다.
2. 0과 1을 바꾼다.
3. 거기에 + 1을 한다
ex) -5를 구하기
1. -5를 5로 바꾼 뒤 2진수로 표현한다. 0101(2)
2. 0과 1을 바꾼다. 1010(2)
3. 거기에 +1 을한다. 1011(2)
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] 배열(Array) (0) | 2022.06.21 |
---|---|
[Java] 자바 연산자(Java Operator) (0) | 2022.06.20 |
[Java] 변수와 상수, 변수의 타입 (1) | 2022.06.18 |
[Android] Ad몹 Invalid application ID. 에러 해결 (0) | 2022.06.15 |
[Android] 배포 시 카카오 링크 키 작동 안함 해결하기 (0) | 2022.06.09 |