f는 왜 float 값 뒤에 배치됩니까?
자바나 다른 언어에서 float 값 뒤에 f나 f를 붙이는 이유를 모르겠습니다.예를 들어.
float fVariable = 12.3f;
이 값이 부동값임을 나타내는 것 외에 다른 특징이 있습니까?
로는 " " 입니다.12.3
double
에게 그것을 float
를 사용합니다.f
★★★★★★★★★★★★★★★★★」F
.
기본 유형에 대한 튜토리얼 페이지를 참조하십시오.
프로그램에서 숫자를 표현하는 방법은 한정되어 있기 때문에 Java의 설계자는 각 양식을 선택하여 가장 일반적인 사용 사례에 할당해야 했습니다.기본값으로 선택된 형식의 경우 정확한 유형을 나타내는 접미사는 옵션입니다.
- 정수 리터럴(int, long)의 경우 기본값은 int입니다.명백한 이유 때문에.
- 부동 소수점 리터럴(부동, 이중)의 경우 기본값은 이중입니다.왜냐하면 더블을 사용하면 저장된 값을 더 안전하게 계산할 수 있기 때문입니다.
'우리'를하면 '우리'가 됩니다.12
당신의 프로그램에서, 그것은 문자 그대로입니다.12L
꽤 긴 시간이 좀 길죠.그리고 당신이 타이핑할 때12.3
, 이것은 2개의 리터럴로 되어 있습니다.12.3F
플로트죠.
그럼 이게 무슨 상관이죠?주로 다운캐스트를 처리하거나 변환을 좁히는 데 사용됩니다.롱에서 int로 다운캐스트하거나 더블에서 플로트로 다운캐스트할 때마다 데이터가 손실될 가능성이 있습니다.따라서 컴파일러는 다음과 같은 컴파일 오류를 시그널링함으로써 좁혀진 변환을 정말로 실행하도록 지시합니다.
float f = 12.3;
12.3은 더블을 나타내기 때문에 플로트에 명시적으로 캐스팅해야 합니다(기본적으로 좁혀진 변환에서 종료).그렇지 않으면 올바른 서픽스를 사용하여 숫자가 실제로 플로트임을 나타낼 수 있습니다.
float f = 12.3f;
요약하자면, longs와 floats에 접미사를 지정해야 하는 것은 정확한 숫자 지정의 필요성과 스토리지 유형 간에 숫자를 유연하게 변환할 수 있도록 설계자가 선택한 절충안입니다.
float
★★★★★★★★★★★★★★★★★」double
는 일부 12.3 0.1)에만 대략적인 할 수 .
차이점은 플로트가 정확하지 않다는 것입니다(플랫폼이 작기 때문에 정밀도가 낮습니다).
예.
System.out.println("0.1f == 0.1 is " + (0.1f == 0.1));
System.out.println("0.1f is actually " + new BigDecimal(0.1f));
System.out.println("0.1 is actually " + new BigDecimal(0.1));
인쇄하다
0.1f == 0.1 is false
0.1f is actually 0.100000001490116119384765625
0.1 is actually 0.1000000000000000055511151231257827021181583404541015625
★★★★★★★★★★★★★★★★★.0.1
가장 입니다.double
그리고.0.1f
에서 가장 가까운 표현입니다.float
float fVariable = 12.3;은 괜찮지만, 어떤 식에서든 float 값(식별자 없이)만 사용하는 경우 값이 float임을 컴파일러에게 알려야 하므로 값 뒤에 "f" 접미사를 사용합니다.예
플로트 플 = 13f/5f;
여기서 13과 5는 부동값입니다.
Java에는 다양한 기본 변수 유형이 있으므로 이를 일반화하기 위해 몇 가지 기본 기능이 있습니다.예를 들어 입력 16.02를 입력하면 자동으로 이중 입력으로 간주됩니다.따라서 플로트로 지정할 경우 숫자 뒤에 'f'가 나타나거나 다음과 같이 사용할 수 있습니다.
float f = (float) 16.02;
또는
float f = 16.02f;
마찬가지로 16l을 언급해야 합니다.숫자를 긴 타입으로 저장해야 할 경우 디폴트 타입인 ie int 타입이 자동으로 선택됩니다.
컴파일 중에 모든 부동 소수점 숫자(소수점 포함 숫자)는 기본적으로 두 배가 됩니다.
따라서 숫자를 두 배로 늘리고 싶지 않고 플로트로 하고 싶은 경우에는 리터럴 상수 끝에 f 또는 F를 추가하여 컴파일러에 명시적으로 알려야 합니다.
Float는 단정도 32비트 IEEE 754 부동소수점이고 Double은 배정도 64비트 IEEE 754 부동소수점입니다.소수점을 사용하여 값을 0.23f(구체 부동)로 지정하지 않으면 Java는 값을 더블로 식별합니다.
10진수 값의 경우 일반적으로 이중 데이터 유형이 Java에서 기본적으로 선택됩니다.체크 내용
f를 사용하지 않으면 Java 기본값인 double로 해석됩니다.이렇게 쓸 수도 있어요##
float f=(float) 32.5956;
float f=32.5956f;
언급URL : https://stackoverflow.com/questions/9748160/why-f-is-placed-after-float-values
'sourcecode' 카테고리의 다른 글
MariaDB 10.1에서 비활성 날짜 값을 제거하려면 어떻게 해야 합니까? (0) | 2022.09.04 |
---|---|
mysql에서 에폭 번호를 사람이 읽을 수 있는 날짜로 변환하는 중 (0) | 2022.09.04 |
Python의 두 날짜 차이 (0) | 2022.09.04 |
Larabel 테이블 열 유형을 변경할 수 없습니다. (0) | 2022.09.04 |
선언된 순서대로 키/값을 유지하는 방법 (0) | 2022.09.04 |