2017-07-14 32 views
1

我需要知道golang中float64和complex128變量類型的最大值。去似乎沒有相當於float.h,我不知道如何計算它。Go中float64和complex128類型的最大值

+0

就像您在Go提到的C頭文件一樣,這些信息可以在包文檔中找到。您可以在以下網址查看標準庫包文檔:https://golang.org/pkg/ 在您的特殊情況下,您想探索數學包和內置包。您可以在常量部分找到MaxFloat64詳細信息。對於complex128,您可以閱讀complex128聲明之上的源註釋,以瞭解complex128的最大可能值。 軟件包文檔還包含指向軟件包源文件的鏈接(粗體藍色超鏈接)。 – sahaj

回答

2

例如,

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) 

Package math

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

Numeric types

數字類型表示集整數或浮點值的。 預聲明體系結構無關的數字類型是:

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不是 是同一類型,即使它們在特定的體系結構上可能具有相同的大小。

相關問題