Go fmt 패키지에서 fmt.Printf에 있는 float64에 대한 %b는 부동 소수점 숫자를 나타냅니다. 특히 [십진수가 없는 과학적 형식]으로 알려진 이진 형식 표기법](https://golang.org/pkg/fmt/#hdr-Printing). 이 표기법은 strconv.FormatFloat의 'b' 형식과 유사한 2지수의 거듭제곱을 사용합니다.
fmt.Printf("0b%b\n", 255) // 0b11111111 fmt.Printf("%b\n", 1.0) // 4503599627370496p-52
출력은 다음과 같습니다.
4503599627370496p-52 can 다음과 같이 분류됩니다.
유효 숫자는 다음을 나타냅니다. 앞의 1을 제외한 숫자의 분수 부분입니다. 이 경우 4503599627370496입니다.
지수는 유효 숫자에 곱하여 다음을 구하는 2의 거듭제곱을 나타냅니다. 실제 부동 소수점 값. 이 경우 지수는 -52입니다. 이는 유효 숫자에 2^-52를 곱하여 최종 값 1.0을 얻음을 의미합니다.
최소 양수 float64의 subnormal double은 이 부동 소수점 형식으로 표현할 수 있는 0이 아닌 가장 작은 양의 값입니다. 다음과 같이 계산됩니다.
Exp(2, -1022 - 52)
여기서 Exp는 지수 함수이고 1022는 float64의 바이어스 값입니다. 결과는 0에 가깝지만 같지 않은 매우 작은 숫자입니다.
5e-324
이 값은 0X0000000000000001로 이진수로 표시됩니다.
위 내용은 Go의 `fmt.Printf`에서 `%b`는 float64 값을 어떻게 나타내나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!