Wednesday, December 13, 2006
Java/자바] 16진수 상수 FF, 10 표현 방법; Hexadecimal Literal
16진수 상수는 그 바로 앞에 0x 이런 것을 붙이면 됩니다.
16진수 FF는, 0xFF 이렇게 표현해야 합니다. 그렇지 않으면 FF 를 숫자가 아닌 변수명으로 오인하여 다음과 같은 에러가 납니다:
Foo.java:5: cannot find symbol
symbol : variable FF
location: class Foo
int i = FF;
^
1 error
16진수 10은, 0x10 이렇게 표현해야 합니다. 그렇지 않으면 10을 십진수라고 여겨서 그냥 10을 출력합니다.
소스 파일명: Foo.java
그런데 "0xFF" 이렇게 16진수에 따옴표를 두르면, 숫자로 간주되지 않고 "문자열"로 인식됩니다. 그러면 incompatible types (호환되지 않는 자료형) 라는 에러가 납니다. 숫자 변수에 문자열을 대입하려고 했으니 당연한 에러입니다.
▶▶ 자바/Java] 10진수, 16진수로 변환 출력 - 십진수 십육진수(헥사;Hex)
"리터럴"이란 의미의 상수가 아닌, 값이 변하지 않는 상수(Constant) 만들기: ▶▶ 자바/Java] 변수를 상수로 만들기. 읽기 전용으로 - Constant
16진수 FF는, 0xFF 이렇게 표현해야 합니다. 그렇지 않으면 FF 를 숫자가 아닌 변수명으로 오인하여 다음과 같은 에러가 납니다:
Foo.java:5: cannot find symbol
symbol : variable FF
location: class Foo
int i = FF;
^
1 error
16진수 10은, 0x10 이렇게 표현해야 합니다. 그렇지 않으면 10을 십진수라고 여겨서 그냥 10을 출력합니다.
십육진수 리터럴(Literal) 표현 예제
소스 파일명: Foo.java
class Foo {
public static void main(String[] args) {
int i;
i = 0xFF;
System.out.println(i);
// 출력 결과: 255
// (십육진수 FF 는 10진수로 255임)
i = 0x10;
System.out.println(i);
// 출력 결과: 16
// (십육진수 10 은 10진수로 16임)
}
}
public static void main(String[] args) {
int i;
i = 0xFF;
System.out.println(i);
// 출력 결과: 255
// (십육진수 FF 는 10진수로 255임)
i = 0x10;
System.out.println(i);
// 출력 결과: 16
// (십육진수 10 은 10진수로 16임)
}
}
그런데 "0xFF" 이렇게 16진수에 따옴표를 두르면, 숫자로 간주되지 않고 "문자열"로 인식됩니다. 그러면 incompatible types (호환되지 않는 자료형) 라는 에러가 납니다. 숫자 변수에 문자열을 대입하려고 했으니 당연한 에러입니다.
▶▶ 자바/Java] 10진수, 16진수로 변환 출력 - 십진수 십육진수(헥사;Hex)
"리터럴"이란 의미의 상수가 아닌, 값이 변하지 않는 상수(Constant) 만들기: ▶▶ 자바/Java] 변수를 상수로 만들기. 읽기 전용으로 - Constant
tag: java
자바 | Java
<< Home