자바/자바 입문 공부일지

자바 기초 공부 일지 3. 자바 변수 선언하기, 정수의 표현 방법(2진법 표현식)

Tomitom 2022. 10. 24. 15:32
반응형

 

● 자바는 변수를 선언할 때 변수의 이름과 용도를 같이 선언해야 합니다.

ex) 

int num1;   <- 변수 num1 의 선언. 변수 num1 의 역할은 int 이다. 

 

최초로 변수를 만들 때 어떤 역할을 할지 적어주어야 합니다.  (변수의 선언)

 

int num1;    // 변수 num1의 선언
num1 = 10;     // 변수 num1 에 10을 저장

unt num2 = 20;    // 변수 num2의 선언과 동시에 20으로 초기화

처음 만들어진 변수에 값을 저장하는 것을 변수의 초기화라고 합니다. (변수의 초기화) 

초기화 이후에는 값의 대입이라고 하면 됩니다. 

 

int num; // 변수의 선언
num = 10; // 변수의 초기화 
num = 20; // 변수에 값 대입 

 

변수에 저장할 데이터가 어떤 유형인지를 알려주는 자료형 범위 입니다.

byte 에서 127까지가  1바이트인 이유는 0의 값이 포함되기 때문입니다.

(기본 자료형 Primirive Data Type= 원시 자료형, 위 외의 자료들은 모두 참조 자료형) 

바이트 크기가 다름에 따라서 표현 가능한 범위가 달라집니다. 

 

그럼 위 자료형을 이용해서 변수를 선언하는 간단한 코드를 작성해볼게요. 

double 이라는 실수형 함수를 사용해볼게요. 

 

 

double num1, num2;  <-으로 연속해서 변수를 선언할 수 있습니다. (=역할을 부여할 수 있습니다.) 

 

package day11;

public class VariableDecl {

	public static void main(String[] args) {
		
		double num1, num2; // 실수형
		double result;
		num1 = 1.0000001;
		num2 = 2.0000001;
		result = num1 + num2;   // 실수를 표현할 때 프로그래밍 언어에서는 조금씩의 오차가 있다. 
		System.out.println(result);
		
	}

}

결과는 이렇게 출력 됩니다. 

 

 

 

 

프로그래밍 언어에서는 실수를 표현할 때 조금씩의 오차가 있으므로 해당 값이 출력됩니다. 

저 값이 나왔다면 알맞게 입력이 된 것입니다. 

 

이렇게 변수를 선언할 때 파이썬과 마찬가지로 제약사항이 있습니다. 

 

1. 자바는 대소문자를 구분한다. 

2. 변수의 이름은 숫자로 시작할 수 없다. 

3. $와 _ 이외의 특수문자는 사용할 수 없다. 

4. 키워드는 변수의 이름으로 사용할 수 없다.

 

그럼 이제 위 자료형 데이터 표에 따라 정수의 표현을 해볼게요. 

컴퓨터가 표현하는 모든 데이터들은 결국 숫자입니다.

컴퓨터를 통해서 처리 되어지는 데이터들은 모두 1과 0으로 조합이 되어서 인코딩이 됩니다. 

 

(네모 한 칸이 비트bite)

비트란 컴퓨터에서 가장 작은 단위 입니다. 

1바이트byte = 8비트bite

여러 개의 데이터를 붙였을 때 맨 왼쪽에 있는 비트를 부호비트라고 합니다. 

위 그림에서 8칸의 비트로 1바이트를 표현하게 되면 양수입니다.

 

양수와 음수를 나누는 1비트를 제외하면 모두 7칸이 남습니다.

총 경우의 수는 2의 7승 (0과 1의 2의 값이 7개 이므로) 최댓값은 128입니다. 

즉 이것은 2진수를 이해해야 가능합니다. 

 

2진수란 0과 1로만 수를 표현하는 것입니다. 

2진수에서는 10진수와 다른 방법으로 수를 표현합니다. 

0과 1만 가지고 자릿수를 올려서 표현합니다. 

1  (0과 1까지는 같습니다.) 

10 (2라는 기호가 없으므로 자릿수를 올립니다.) 

11 (3)

100 (4)

101 (5) 

 

그러므로 바이트 단위에서는 부호 기호 하나를 빼면 2진수로 표현할 수 있는 최대의 값은 1111111 <- 입니다. (2의 7승) 

 

여기까지가 양의 정수를 나타내는 것이라면 음의 정수는 다르게 표현합니다. 

부호 비트를 1로 바꾼다고 해서 음의 표현이 정상적으로 되지는 않습니다. 

 

조금 전에 표시한 +25에서 -25를 해야하면 0이 되어야 하는데 그 값이 나오지 않습니다. 

양의 25를 기준으로 더했을 때 0니 나오는 수가 음의 25가 되는 것입니다. 

 

 

 

 음의 정수를 표시할 때의 과정을 보겠습니다. 

양의 정수의 이진수 표현에 2의 보수를 취한 결과를 음의 정수로 표현합니다. 

(보수란 뒤집은 값을 말합니다. )

 

1바이트 

0 0 0 0 0 0 1

  = + 1 (양의 1수) 

 

1 1 1 1 1 1 0

 

우선 기존의 값을 보수로 취합니다. (뒤집습니다.) 

그 다음 1의 값을 더해줍니다. (맨 오른쪽 자리값) 

 

+ 1비트 

 

이렇게 하면 모든 값이 0이 되고, 올림수가 되는 1은 버려지기 때문에 총 값은 1이 됩니다. 

변수를 선언할 때 지정했던 자료형보다 큰 바이트의 값은 저장할 수 없습니다. 

고로 값의 표현 방법에 대한 테이블을 익혀두는 것이 좋습니다. 

 

 

반응형