2013년 8월 5일 월요일

[2주차 1일] 변수

변수 종류

-정수형
byte(1)
short(2)
int(4)
long(8)

-실수형
float(4)
double(8)

-블린
boolean(1)

-문자
char(2)


변수 선언

:데이터 저장할 메모리 준비 명령
ex> byte b;

*일상적인 데이터는 4byte이상의 변수를 사용한다. 음원, 영상등은 byte를 쓰는 경우가 있다.


값의 표현(Literal)

10    <-  int형 정수
10L  <-  long형 정수
ex> int a = 10L;      <== 컴파일 에러 

10.0f  <-  float형 실수
10.0   <-  double형 실수
ex> float f = 10.0;   <== 경고(값이 짤릴수 있음) 


문자 표현

:java는 유니코드값을 사용해서 문자를 다룬다. (2byte)
char c = 0xAC00;
char c = '가';
char c = '\uAC00';
위의 두개는 똑같이 '가'를 나타낸다.

*''(어퍼스트로피): 유니코드 값을 리턴해 주는 명령어
*'\u'로 문자표기 하는것은 properties 파일에서 쓰일수 있다.

제어문자열 의미 유니코드
      -------------------------------------------------------------
\b Backspace \u0008
\t Horizontal TAB \u0009
\n Line Feed \u000a
\f Form Feed \u000c
\r Carriage Return \u000d
\" double quote \u0022
\' single quote \u0027
\\ backslash \u005c
      --------------------------------------------------------------
*Unix와 Window의 엔터 차이
  -Unix: 0A
  -Window: 0D0A
  그러므로 다른 운영체제로 문서등을 전송하거나 받을 때 TextMode로 전송을 하게 되면
  Window => Unix 경우에는 '0D'를 제거해주고, Unix => Window 일 경우에는 '0D'를 추가해 준다. 


숫자의 다양한 표현 방식

-8진수 표현: 숫자앞에 '0'을 붙인다.
-16진수 표현: 숫자앞에 '0x'를 붙인다.

  표현               진수             10진수
   7                    10                   7
  10                   10                  10
  07                    8                    7
 010                   8                    8
 012                   8                   10 
0x10                  16                  10 


값의 크기(메모리의 크기)

byte(1)                 -128 ~ 127
short(2)           -32768 ~ 37267
int(4)             약 -21억 ~ 약21억
long(8)          약 -400경 ~ 약 400경 
float(4)           유효자리수 6자리
double(8)        유효자리수 15자리


*double은 float보다 두배정확하게 값을 저장할수 있다. 


문자의 집합(Character Set)

: 문자에 부여한 고유번호의 집합
ex> A  --> 0x41
       B  --> 0x42
       가  --> 0xAC00




음수 표현

-초기음수표현: 
첫비트가 0이면 양수 1이면 음수

ex1>   0 1 0 1   양수 (5)
      +   1 1 0 1   음수(-5)
     ---------------------
          0 0 1 0   (2)
위의 예제에서 5 와 -5를 더하면 2가나오는 문제가 있다. 이런 문제를 해결 하기위해서  보수법표기법이 나왔다.

-보수법표현:
음수는 양수의 2의 보수로 한다.
2의 보수는 1의 보수에 1을 더한것이다.

ex2>  0 1 0 1   양수 (5)
         1 0 1 0    1의보수
     +  1 0 1 1    음수(2의보수) (-5)
    -------------------------
         0 0 0 0   (0)
보수법으로 표현하면 빼기를 위해서 연산을 따로 할 필요가 없이 2의보수를 더하기면 하면 된다.
연산이 간한해 진다.

댓글 없음:

댓글 쓰기