컴퓨터는 0,1 밖에 인식하지 못합니다. 즉 컴퓨터는 2진수를 인식합니다.
bit: 컴퓨터가 표현하는 데이터의 최소 단위입니다. 2진수 하나의 값을 저장할 수 있는 메모리 크기를 의미합니다.
byte: 1byte=8bit 바이트는 8비트가 모여 1바이트가 됩니다.
10진수 | 2진수 |
0 | 00000000 |
1 | 00000001 |
2진수
00000
00001ㅡ>2^0=1
00010ㅡ>2^1=2
00011ㅡ>2^1+2^0=3
00100ㅡ>2^2=4
10진수 | 16진수 |
9 | 9 |
10 | A |
11 | B |
2진수 에서 10 = 00001010
16진수 에서 10 = 0A
2진수에서는 4비트로 표현해야하는걸 16진수면 간단히 표현가능합니다.
(ex 16진수는 주소값에서 많이 사용됩니다.)
자바에서 //은 주석을 의미합니다. 주석은 컴파일 할때 포함되지 않습니다. 자바에서 2진수 10진수 8진수 16진수 표현방법은 다음과 같습니다.
int num=10; //10진수 10
int bNum=0B1010;// 2진수 10
int oNum=012; //8진수 10
int hNum=0XA;//16진수 10
2진수는 OB를 앞에 붙여주고 8진수는 0을 16진수는 0X를 붙여줍니다.
다음과 같이 코딩한 후 출력결과를 살펴보면 다음과 같습니다.
진수에 맞게 모두 10이 출력된 것을 확인 할 수 있습니다.
비트에서 가장 왼쪽 비트를 MSB 부호비트라고 부릅니다. "0"0000000
00000101은 5를 의미합니다.
그렇다면 -5는 10000101일까요?
5와 -5를 더하면 0이 돼야 하기 때문에 위 두 수를 더하면 0이 되지 않는 다는 것을 알 수 있습니다.
음수 만드는법은 다음과 같습니다.
00000101ㅡ>5
1의 보수를 취함:11111010
두개 더하면 11111111
+1하면 1 00000000
맨 앞에 1을 날리면 0이 완성됩니다.
즉, 1의 보수를 취하고 1을 더하면 음수가 됨.
음수값은 역으로 변환해서 양수값을 구해야 어떤 값의 음수 인지 알 수 있습니다.
'JAVA' 카테고리의 다른 글
[JAVA] 기초문법 - 변수와 자료형(3) (0) | 2021.09.13 |
---|---|
[JAVA] 기초문법 - 변수와 자료형(2) (0) | 2021.09.13 |
[JAVA] 기초문법 - JAVA 설치(실행환경 구축) (0) | 2021.09.13 |
[JAVA] 기초문법 - 자바를 쓰면 왜 좋을까? (0) | 2021.09.13 |
[JAVA] 기초문법 - 프로그래밍이란? (0) | 2021.09.13 |