// 남궁 성의 자바의 정석 듣는 중//
=> js랑 다르게 확실히.. 하나씩 전부다 입력해 줘야 만 함..
console 창에 입력하려면 scanner가 필요하다로 생각하면 될 듯.
++ 진법이 너무 헷갈려서.
책을 다시 봤는데 (기초편 강의는 길게 설명 x)
안 익숙해서 그렇지. 손으로 몇 번 계산해보면 이해가 됨.
2진수 | 8진수 | 10진수 | 16진수 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
10 | 2 | 2 | 2 |
11 | 3 | 3 | 3 |
100 | 4 | 4 | 4 |
101 | 5 | 5 | 5 |
110 | 6 | 6 | 6 |
111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | A |
1011 | 13 | 11 | B |
1100 | 14 | 12 | C |
1101 | 15 | 13 | D |
1110 | 16 | 14 | E |
1111 | 17 | 15 | F |
10000 | 20 | 16 | 10 |
2진수를 8진수, 16진수로 변환 하는 것은.
자릿수를 각각 3개, 4개로 끊어서 변환 해주면 됨.
- 실수의 진법변환은
정수 부분과 실수부분을 나눠서 각각 계산, 소수부분이 0이 될 때까지 10진 소수에 2를 곱함.
계산 결과의 정수부분만 아래부터(작은 값부터) 순서대로 적고 앞에 0.을 붙여줌.
- 음수의 2진 표현은 2의 보수법 활용
부호있는 정수의 경우에는 2가지 방법.
1. 2진수의 맨 왼쪽의 1bit(MSB, most significant bit)의 값을 1로 바꿔주면 다 음수가 됨.
but, 두 수를 더했을 때 2진수 0이 안 되고, 0이 -0으로 2개 존재, 2진수 증가 시 10진 음수 감소 .
2. 2의 보수법으로 사용.
자리 올림에 의해서 양수와 음수의 합이 0이 되도록 만들어줌(비트 단위수를 초과해서 사라지게 함)
then, 부호 신경 안쓰면서 덧셈 가능. 2진수 증가 시 10진 음수가 감소하지 않음. but, MSB만 바꾸는 것으로 부호 변경이 안되기에 간결성이 떨어짐.
- 음수의 이진수는 절대값 -> 2진수 -> 2의 보수
- 2의 보수는 빼서도 구할 수 있지만, 1의 보수로 구하는 게 더 간단함
*음수의 2진 표현 구하는 방법
1) 음수의 절대값을 2진수로 변환
=> -5 --> 5 --> 0101
2) 2진수의 1을 0, 0을 1로 바꿈 (1의 보수 구하기)
=> 1010
3) 1 더하기 (2의 보수 구하기)
=> 1011
'Web Developing > Java' 카테고리의 다른 글
[java] 연산자 operator, 형변환, 사칙 연산자 (3) | 2024.03.18 |
---|---|
[java] 오버플로우, 타입 간 변화 (0) | 2024.03.17 |
[Java] printf()의 지시자 (0) | 2024.03.15 |
[Java] 변수, 상수, 리터럴 (0) | 2024.03.15 |
[Java] 단축키 (0) | 2024.03.15 |