자바독학(10)
-
Java 진법 3
n진수를 10진수로 변환 어떤 진법의 수라도 10진수로 변환하는 방법은 똑같다. 각 자리의 수에 해당 단위의 값을 곱해서 모두 더하면 된다. 예를 들어 10진수 123은 다음과 같이 풀어쓸 수 있다. 123 = 100 + 20 + 3 = 1 X 100 + 2 X 10 + 3 X 1 = 1 X 10의2승 + 2 X 10의1승 + 3 X 10 마찬가지로 2진수는 다음과 같이 표현할 수 있는데, 각 자리의 다위가 10의 제곱이 아니라 2의 제곱이라는 점을 제외하면 10진수와 동일하다. 8진수와 16진수로 변환하는 방법 역시 동일하다. 1460(8) = 1 x 8의3승 + 4 x 8의2승 + 6 x 8의 1승 + 0 x 8의 0승 = 1 x 512 + 4 x 256 + 6 x 8 + 0 x 1 = 512 + 2..
2021.05.27 -
Java 진법 2
8진법과 16진법 2진법은 오직 0과1, 두 개의 기호만으로 값을 표현하기 떄문에, 2진법으로 값을 표현하면 자리수가 상당히 길어진다는 단점이 있다. 이러한 단점을 보완하기 위해 2진법 대신 8진법이나 16진법을 사용한다. 8진수는 2진수 3자리를, 16진수는 2진수 4자리를 각각 한자리로 표현할 수 있기 때문에 자리수가 짧아져서 알아보기 쉽고 서로 간의 변환방법 또한 매우 간단하다. 2진법 - 0 1 // 2개 8진법 - 0 1 2 3 4 5 6 7 // 8개 10진법 - 0 1 2 3 4 5 6 7 8 9 // 10개 16진법 - 0 1 2 3 4 5 6 7 8 9 A B C D E F // 16개 8진법은 값을 표현하는데 8개의 기호가 필요하므로 0~7개의 숫자를 기호로 사용하면 되지만, 16진법은..
2021.05.26 -
Java 진법 1
10진법과 2진법 우리는 일상속에서 주로 사용하는 것은 10진법이다. 2진법을 알지못하면 컴퓨터의 동작원리나 데이터 처리방식을 온전히 이해할 수 없다. 지금까지 변수에 값을 저장하면 10진수로 저장되는 것처럼 설명을 하였지만, 컴퓨터는 2진수(0과1)밖에 모르기 때문에 아래의 오른쪽과 같이 2진수로 바뀌어 저장된다. 2진수 11001은 10진수로 25이다. int age = 25; age = 25 → age = 11001 이처럼 2진법은 0과 1로만 데이터를 표현하기 떄문에 10진법에 비해 많은 자리수를 필요로한다. 10진수 2와 같이 작은 숫자도 2진수로 표현하려면 2자리가 필요하다. 2진수한자리로는 1보다 큰 값을 표현 할 수 없기 떄문이다. 이것은 10진수에서 9보다 큰 수를 표현하기 위해서는 두자..
2021.05.25 -
Java 상수 2
타입의 불일치 리터럴의 타입은 저장될 변수의 타입과 일치하는 것이 보통이지만, 타입이 달라도 저장범위가 넓은 타입에 좁은 타입의 값을 저장하는것은 허용된다. 예를 들어, double타입에 float리터럴타입을 넣어줘도 에러없이 작동된다 !! double f = 3.14f; O // float d = 3.14d; X 반대로 float타입에 double리터럴을 작동하면? 컴파일 에러가 뜬다!! double은 8byte 총 64bit인데 float은 4byte 총 32bit입니다. 큰타입에 작은 리터럴타입을 넣어줘도 상관은 없지만, 작은 타입에 큰 리터럴은 안된다 이말입니다! 문자 리터럴과 문자열 리터럴 'A'와 같이 작은 따옴표로 문자 하나를 감싼 것을 문자 리터럴이라고한다. 두문자 이상은 큰따옴표로 감싸야..
2021.05.15