为啥 GOlang的float型后面要加32或64?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥 GOlang的float型后面要加32或64?相关的知识,希望对你有一定的参考价值。

参考技术A 这样子来讲:float和int都是固定长度的,4字节(32位机子)
int是精确的,超出范围就溢出了。数据错误了。
而float并不是单纯的101010这样存储,是把4个字节划分为
符号位,指数位,尾数位 比如1.123123*10^35;
3个部分固定的,因为有指数,存储的范围当然比int大了。
但是3个部分也有范围限制,所以当你精度值越大时,月不精确了。

003_常量,变量和强制类型转换

1.常量

  —整数型
  —小数型
  —布尔型(true或false)
  —字符型(‘‘)
  —字符串型("")
  —null

2.变量(对应内存中一块存储区域)

  技术分享图片

    (1)在Java中,浮点数默认是double类型,整数默认是int类型。

         (2)定义long和float类型后面要加l或f。

3.类型提升和强制类型转换

       (1)不同数值型运算时,内存区域较低的类型会转化为内存区域较大的类型再运算。

          (2)Java不允许不同类型之间直接赋值,如果非要赋值的话只能强制类型转换,强制取后面低位(精度损失,慎用)






以上是关于为啥 GOlang的float型后面要加32或64?的主要内容,如果未能解决你的问题,请参考以下文章

golang 基础 —— 数据类型

GOLANG 基本数据类型 浮点型

golang的数据类型之整型类型

Golang教程:类型

为啥 Pandas 将我的 numpy float32 强制转换为 float64?

为啥Go中有int但没有float?