나는 자바를 배우기 시작하고 리터럴에 관한 질문을했다.(Java) 0x12.2P2가 0x12.2F가 아닌 올바른 이유는 무엇입니까?
코드 :
class what_is_px_literals {
public static void main(String args[])
{
float a = 0x12; //Question Line
System.out.print("\nThis is the number in:\n\tHexdecimal:\t0x12.2\n\tDecimal:\t"+a+"\n\tWorking of P\t"+0x12.2P2+"\n");
}
}
위의 코드는 오류없이 컴파일합니다. 그러나 라인을 다음과 같이 다시 작성하십시오.
float a = 0x12.2 //or float a = 0x12.2F or double a = 0x12.2D
이 오류를 제공합니다.
왜 소수점 뒤에 숫자가 추가되면 오류가 발생합니까?
float a = 0x12.2 //or float a = 0x12.2F or double a = 0x12.2D
기본적으로 이것은 16 진수 부동 소수점 리터럴 형식이기 때문에. http://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.10.2를 참조하십시오. –