1
我需要知道golang中float64和complex128變量類型的最大值。去似乎沒有相當於float.h,我不知道如何計算它。Go中float64和complex128類型的最大值
我需要知道golang中float64和complex128變量類型的最大值。去似乎沒有相當於float.h,我不知道如何計算它。Go中float64和complex128類型的最大值
例如,
package main
import (
"fmt"
"math"
)
func main() {
const f = math.MaxFloat64
fmt.Printf("%[1]T %[1]v\n", f)
const c = complex(math.MaxFloat64, math.MaxFloat64)
fmt.Printf("%[1]T %[1]v\n", c)
}
輸出:
float64 1.7976931348623157e+308
complex128 (1.7976931348623157e+308+1.7976931348623157e+308i)
import "math"
浮點限制VA梅毒。最大值是可由該類型表示的最大有限值 。 SmallestNonzero是最小的正數, 非零值可由類型表示。
const ( MaxFloat32 = 3.40282346638528859811704183484516925440e+38 // 2**127 * (2**24 - 1)/2**23 SmallestNonzeroFloat32 = 1.401298464324817070923729583289916131280e-45 // 1/2**(127 - 1 + 23) MaxFloat64 = 1.797693134862315708145274237317043567981e+308 // 2**1023 * (2**53 - 1)/2**52 SmallestNonzeroFloat64 = 4.940656458412465441765687928682213723651e-324 // 1/2**(1023 - 1 + 52) )
The Go Programming Language Specification
數字類型表示集整數或浮點值的。 預聲明體系結構無關的數字類型是:
uint8 the set of all unsigned 8-bit integers (0 to 255) uint16 the set of all unsigned 16-bit integers (0 to 65535) uint32 the set of all unsigned 32-bit integers (0 to 4294967295) uint64 the set of all unsigned 64-bit integers (0 to 18446744073709551615) int8 the set of all signed 8-bit integers (-128 to 127) int16 the set of all signed 16-bit integers (-32768 to 32767) int32 the set of all signed 32-bit integers (-2147483648 to 2147483647) int64 the set of all signed 64-bit integers (-9223372036854775808 to 9223372036854775807) float32 the set of all IEEE-754 32-bit floating-point numbers float64 the set of all IEEE-754 64-bit floating-point numbers complex64 the set of all complex numbers with float32 real and imaginary parts complex128 the set of all complex numbers with float64 real and imaginary parts byte alias for uint8 rune alias for int32
n位整數的值是n位寬,並使用 二的補碼算術表示。
還擁有 實現特定的尺寸一組預先聲明數值類型:
uint either 32 or 64 bits int same size as uint uintptr an unsigned integer large enough to store the uninterpreted bits of a pointer value
爲了避免可移植性問題,所有數值類型是除了 字節,這是UINT8別名不同,和符文,這是 int32的別名。當不同的數字類型在表達式或賦值中混合使用 時,需要轉換。例如,int32和int不是 是同一類型,即使它們在特定的體系結構上可能具有相同的大小。
就像您在Go提到的C頭文件一樣,這些信息可以在包文檔中找到。您可以在以下網址查看標準庫包文檔:https://golang.org/pkg/ 在您的特殊情況下,您想探索數學包和內置包。您可以在常量部分找到MaxFloat64詳細信息。對於complex128,您可以閱讀complex128聲明之上的源註釋,以瞭解complex128的最大可能值。 軟件包文檔還包含指向軟件包源文件的鏈接(粗體藍色超鏈接)。 – sahaj