Java(15)
-
Java 2의보수법
2의 보수법 어떤 수의 'n의 보수'는 더했을 때 n이 되는 수를 말한다. 7의 '10의 보수'는 3이고, 3의 '10의 보수'는 7이다. 3과 7은 '10의 보수의 관계'에 있다고 한다. '2의 보수 관계' 역시, 더해서 2가 되는 두수의 관계를 말하며, 10진수 2는 2진수로 '10'이다. 2진수로 '10'은 자리올림이 발생하고 0이 되는 수를 뜻한다. 그래서 '2의 보수 관계'에 있는 두 2진수를 더하면 (자리올림이 발생하고) 0이된다 10의 보수관계 → 두수를 더했을 때 10이 되는 두수. 2의 보수관계 → 2진수로 두수를 더했을 때 0이 되는 두수. 10의 보수관계: 7 + 3 = 10, 5 + 5 = 10, 1 + 9 = 10 2의 보수관계: 5 + -5 = 0000, 1 + -1 = 0000..
2021.06.10 -
Java 기본형 5
실수형의 저장형식 앞서 언급한 바와 같이 실수혀은 정수형과 표현형식이 달라서, 실수형은 값을 부동소수점수의 형태로 저장한다. 부동소수점수는 실제 +-M x 2의 E제곱 와 같은 형태로 표현하는 것을 말하며, 부동소수점수는 부호(Sign), 지수(Exponent), 가수(Mantissa), 모두 세 부분으로 이루어져 있다. 부호(Sign bit) S는 부호비트를 의미하며, 1bit이다. 이 값이 0이면 양수를 1이면 음수를 의미한다. 정수형과 달리 2의 보수법을 사용하지 않기 떄문에 양의 실수를 음의 실수로 바꾸려면 그저 부호비트만 0에서 1로 변경하면 된다. 지수(Exponent) E는 지수를 저장하는 부분으로 float의 경우, 8bit의 저장공간을 갖는다. 지수는 '부호있는 정수'이고, 8bit로는 ..
2021.06.02 -
Java 기본형 4
정수형의 선택기준 변수에 저장하려는 정수형의 범위에 따라 4개의 정수형 중에서 하나를 선택하면 되겠지만, byte나 short보다 int를 사용하도록 하자. byte와 short이 int보다 크기가 작아서 메모리를 조금 더 절약할 수는 있지만, 저장 할 수 있는 값의 범위가 작은 편이라서 연산시에 범위를 넘어서 잘못된 결과를 얻기가 쉽다. 그리고 JVM의 피연산자 스택(operand stack)이 피연산자를 4byte단위로 저장하기 때문에 크기가 4byte보다 작은 자료형(byte, short)의 값을 계산할 때는 4byte로 변환하여 연산이 수행된다. 그래서 오히려 int를 사용하는 것이 더 효율적이다. int 타입의 크기는 4byte(= 32bit)이므로, 표현할 수 있는 정수의 개수는 약 40억이며..
2021.06.01 -
Java 기본형 3
실수형 - float, double 실수형의 범위와 정밀도 실수형은 실수를 저장하기 위한 타입으로 float와 double, 두 가지가 있으며 각 타입의 변수에 저장 할 수 있는 값의 범위는 아래와 같다. 위 표의 범위는 양의 범위만 적은 것으로, 이 범위에 -부호를 붙이면 음의 범위가 된다. 예를 들어 float타입으로 표현가능한 음의 범윈는 -1.4 x 10의-45승 ~ -3.4 x 10의38승이다. float타입으로 표현가능한 양의 범위와 음의 범위를 함께 그림으로 그리면 다음과 같다. 즉, float타입의 표현범위는 -3.4 x 10의 38승 ~ 3.4 x 10의 38승이지만 -1.4 x 10의-45승 ~ 1.4 x 10의45승 범위(0은 제외)값은 표현할 수 없다. 실수형은 소수점수도 표현해야 ..
2021.05.31 -
Java 기본형 2
특수 문자 다루기 영문자 이외에 tap이나 backspace등의 특수문자를 저장하려면, 아래와 같이 조금 툭별한 방법을 사용한다. char tab = '\t'; //변수 tab에 탭 문자를 저장 Q: char형은 문자만 가능하잖아 근데 \t는 두개아니야? A: '\t'는 실제로는 두 문자로 이루어져 있지만 한 문자(탭, tab)을 의미한다. 아래의 표는 탭과 같이 특수한 문자를 어떻게 표현할 수 있는지 알려준다. char타입의 표현 형식 char타입의 크기는 2byte(=16bit)이므로, 16자리의 2진수로 표현할 수 있는 정수의 개수인 65536개(=2의16승)의 코드를 사용할 수 있으며, char형 변수는 이 범위 내의 코드 중 하나를 저장할 수 있다. 예를 들어, 문자 'A'를 저장하면, 아래와 ..
2021.05.30 -
Java 기본형
다소 깊이 있는 내용이므로 어렵다고 느낄 수도 있는데, 앞서 배운 기본형에 대한 대략적인 내용만으로도 별 부족함 없이 진도를 나갈 수 있으니까 다 이해하지 못해도 괜찮다. 그래도 언젠가는 반드시 알아야하는 내용이므로 가볍게라도 봐둘 필요는 있다. 논리형 - boolean 논리형에는 boolean한가지 밖에 없다. boolean형 변수에는 true, false중 하나를 저장할 수 있으며 기본값(default)은 false이다. boolean형 변수는 대답(yes / no), 스위치(on / off) 등의 논리구현에 주로 사용된다. 그리고 boolean형은 true와 false, 두 가지의 값만을 표현하면 되므로 1bit만으로도 충분하지만, 자바에서는 데이터를 다루는 최소단위가 byte이기 때문에 boole..
2021.05.29