22.11.29 배운 내용 정리
(2, 8, 10, 16진수, 변수)
우리가 사용하는 모든 데이터는 컴퓨터 내부에서 0과 1로 이루어져 있음
이렇게 0 또는 1로 표현할 수 있는 최소 단위를 비트(bit)라고 하며, 8비트가 모이면 1바이트(byte)가 됨
→ 8비트(bit) = 1바이트(byte)
10진수, 2진수
10진수 = 우리가 일상 생활에서 사용하는 숫자
2진수 = 0과 1로만 표현되는 수
10진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
2진수 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
문자도 숫자로 표현하도록 약속되어있음
(대문자)A = 65 ~ Z = 90
(소문자)a = 97 ~ z = 122
컴퓨터 내부에서는 문자도 2진수로 표현함
ex. A(65) = 1000001(2진수)
이 값을 A 문자의 *아스키(ASCII) 값이라고 함
*아스키(ASCII)
- American Standard Code for information Interchange의 약어
- 미국 표준 협회(ANSI)가 제정한 규칙
- 영문자, 숫자, 특수 문자를 8비트 값의 수로 미리 정의해 놓았음
※ 비트로 표현 할 수 있는 수의 범위
컴퓨터는 2진수로 수를 표현하기 때문에
비트 수가 n개일 때 2진수로 나타낼 수 있는 숫자의 개수는 2ⁿ개이다.
ex. 비트가 한 개라면 2개(2¹개)의 수를 표현할 수 있으므로 범위는 0~1이다.
비트가 두 개라면 4개(2²개)의 수를 표현할 수 있으므로 범위는 0~3이다.
비트가 세 개라면 8개(2³개)의 수를 표현할 수 있으므로 범위는 0~7이다.
한 개의 비트로 나타낼 수 있는 수의 범위 → 0, 1 (0~1) 두 개의 비트로 나타낼 수 있는 수의 범위 → 00, 01, 10, 11 (0~3) 세 개의 비트로 나타낼 수 있는 수의 범위 → 000, 001, 010, 011, 100, 101, 110, 111 (0~7) |
2진수, 8진수, 16진수
자바 프로그램에서는 2진수, 8진수, 16진수를 사용할 수 있음
2진수 = 너무 길어서 불편함 → 8진수, 16진수로 바꿔서 사용하면 간단하게 표현 가능
8진수를 2진수로 표현하기 위해 3개의 비트 필요, 16진수는 4개의 비트필요
※ 0부터 16까지 수를 10진수, 2진수, 8진수, 16진수로 표현
10진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
2진수 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 |
8진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 |
16진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
10진수 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
2진수 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | 10000 |
8진수 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 |
16진수 | 9 | A | B | C | D | E | F | 10 |
부호 있는 수를 표현하는 방법
컴퓨터는 숫자를 0과 1로만 표현할 수 있기 때문에 부호 또한 0과 1로 표현함
부호를 나타내는 비트는 맨앞에 붙이며 부호 비트(MSB : Most Significant Bit)라고 부름
부호 비트가 0이면 양수, 1이면 음수임
그렇다고 맨 앞 비트(부호 비트)만 1로 바꾼다고 음수가 되는 것이 아님
ex. 컴퓨터에서 표현할 -5는 5와 더했을 때 0이 되는 값이어야 함 → 이 값을 '2의 보수'라고 함
보수 = 보충해주는 수
10진수에서 10의 보수는 더해서 10(십)이 되는 수
ex. N=10일 경우, 3에 대한 10의 보수 = 7
2진수에서 2의 보수는 더해서 2, 즉 10(일영)이 되는 수임.(맨 왼쪽 한 비트가 1로 증가하고 나머지는 0이됨)
ex. 4비트만 사용하는 컴퓨터에서 0011에 대한 2의 보수 = 10000이 되어야함(맨 왼쪽 한 비트가 1이 되고 나머지는 0)
0011과 더해 10000이 되는 2의 보수 = 1101 but, 이 컴퓨터는 4비트만 사용한다고 했으므로 *맨 앞의 1비트는 없어짐
→ 맨 앞의 1이 없어져 0000, 즉 0이 됨
※ 0011에 대한 2의 보수를 구해서 두 값을 더했더니 0이 됨 그래서 2진수에서 2의 보수를 음수라고 함.
*맨 앞의 1비트가 없어지는 것 = '트렁케이트(truncate)된다'라고 함
ex. -5를 만드는 방법(10진수 5를 2진수 8비트로 나타내면 00000101임)
00000101에 대한 2의 보수 = 1의 보수로 변환후(11111010)에 제일 낮은 자리에 1을 더한 11111011
※ 프로그램 만드는 순서
① 프로젝트 생성
File → New → Java Project (프로젝트 이름 작성, 모듈 파일 생성X)
② 패키지 생성
앞에서 만든 프로젝트 우클릭 → New → Package (패키지 이름 작성, 항상 소문자로 써야함)
③ 클래스 생성
앞에서 만든 패키지 우클릭 → New → Class (클래스 이름 작성, main() 함수 추가 ※ public static ~ 체크표시하기)
④ 코드작성 완료 후 저장(Ctrl+S) 후 실행(Ctrl+F11)
변수
변수 = 변하는 수
어떤 값을 저장하려면 우선 저장할 공간이 필요함 = 이 공간의 이름이 바로 변수
변수를 사용하려면 우선 어떤 형태의 자료를 저장할 것인지 정해야함
ex. 사람의 나이 저장 = 정수 형태 사용, 사람의 이름 저장 = 문자 형태 사용
변수의 자료형 선택 후에 변수의 이름을 정해줘야함 = 이것을 '변수를 선언한다'라고 함
변수를 선언할 때 변수 값을 바로 대입할 수도 있음
변수에 처음 값을 대입하는 것을 '초기화'라고 함
반드시 변수 선언과 동시에 초기화를 해야 하는 것은 아님
변수 이름
변수 이름은 사용 목적에 맞게 의미 부여해서 만드는 것이 베스트
변수 길이 제한 X → 줄임말보단 의미를 풀어서 쓰는 것이 좋음
변수 이름은 대부분 소문자로 시작하며 여러 단어로 변수 이름을 만들 경우
중간에 다른 뜻의 단어가 등장할 때 첫 글자를 대문자로 사용함으로써 변수를 알아보기 쉽게 할 수 있음
ex. numberOfStudent = 카멜 표기법(Camel Notation)이라고도 함
※ 변수 이름 제약 사항
제약 사항 | 예시 |
변수 이름은 영문자(대문자, 소문자)나 숫자 사용 가능 특수 문자 중에는 only $, _만 사용 가능 |
g_77level(O), $Max_Count(O), _Master(O) |
변수 이름은 숫자로 시작할 수 없음 | 29day(X), 1vov(X) |
자바에서 이미 사용 중인 *예약어는 사용할 수 없음 | while, int, break 등의 예약어(X) |
*예약어 : 프로그래밍 언어에서 특별한 의미로 미리 약속되어 있는 단어
'코딩 국비 학원 > Do it! 자바 프로그래밍 입문' 카테고리의 다른 글
[Do it! 자바 프로그래밍 입문]반복문, 클래스, 객체 (0) | 2022.12.03 |
---|---|
[Do it! 자바 프로그래밍 입문]비트 연산자, 조건문 (0) | 2022.12.02 |
[Do it! 자바 프로그래밍 입문]상수, 리터럴, 형 변환, 기본 연산자 (0) | 2022.12.01 |
[Do it! 자바 프로그래밍 입문]기본 자료형 (0) | 2022.11.30 |
[Do it! 자바 프로그래밍 입문] 자바의 특성 (0) | 2022.11.28 |