教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang基础数据类型-浮点型

golang基础数据类型-浮点型

发布时间:2022-03-06   编辑:jiaochengji.com
教程集为您提供golang基础数据类型-浮点型等资源,欢迎您收藏本站,我们将为您提供最新的golang基础数据类型-浮点型资源

go语言提供了两种精度的浮点数,float32和float64

<pre><code class="lang-go hljs">// float32 is the set of all IEEE-754 32-bit floating-point numbers. type float32 float32 // float64 is the set of all IEEE-754 64-bit floating-point numbers. type float64 float64 </code></code></pre> <h2>零值和默认类型</h2> <pre><code class="lang-go hljs">func TestFloat(t *testing.T) { // 零值0 var f1 float64 fmt.Println(f1) // 0 // 默认类型 f2 := 3.14 fmt.Println(reflect.TypeOf(f2), f2) // float64 3.14 } </code></code></pre> <h2>表现形式</h2> <pre><code class="lang-go hljs">func TestFloat(t *testing.T) { // 省略小数点后面的数 f1 := 3. // 省略小数点前面的数 f2 := .14 // 科学计数法,大写E和小写e都支持 // 等价于5.1234 * 100 f3 := 5.1234e2 // 等价于5.1234 / 100 f4 := 5.1234e-2 fmt.Println(f1, f2, f3, f4) // 3 0.14 512.34 0.051234 } </code></code></pre> <h2>如何选择</h2>

一个float32类型的浮点数可以提供大约6个十进制数的精度,而float64则可以提供约15个十进制数的精度;通常应该优先使用float64类型,因为float32类型的累计计算误差很容易扩散,并且float32能精确表示的正整数并不是很大

备注:因为float32的有效bit位只有23个,其它的bit位用于指数和符号;当整数大于23bit能表达的范围时,float32的表示将出现误差

<pre><code class="lang-go hljs">func TestFloat(t *testing.T) { var f float32 = 1 << 24 fmt.Println(f == f 1) // true } </code></code></pre> <h2>边界值</h2>

math包里面

<pre><code class="lang-go hljs">// Floating-point limit values. // Max is the largest finite value representable by the type. // SmallestNonzero is the smallest positive, non-zero value representable by the type. 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) ) </code></code></pre>
到此这篇关于“golang基础数据类型-浮点型”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang基础教程
C语言 的 整型数据和浮点型数据
golang lesson3 - 基础数据类型
golang基础数据类型-浮点型
2020-10-14Go语言基本类型:整型、浮点型、字符串
新手入门PHP必知的七种数据类型
python有short类型吗
Go数据类型整理
一篇文章搞定Python二级考试
go 语言编程

[关闭]
~ ~