Go Number

Go中数值类型可细分为整数、浮点数、复数三种,每种都具有不同的大小范围和正负支持。

整数

Go提供了有符号和无符号的整数类型,同时提供四种大小不同的整数类型。

  • 整数类型根据有无符号(符号位)可分为有符号整数和无符号的整数
  • 整数类型根据二进制bit位大小分为8bit、16bit、32bit、64bit四种

有符号整数包括 int8、int16、int32、int64,无符号整数包括uint8、uint16、uint32、uint64。另外,intuint分别对应特定CPU平台的字长(机器字大小),大小范围在32bit64bit之间变化,实际开发中由于编译器和硬件不同而不同。

取值范围

  • 有符号整数采用2的补码形式表示,最高bit位表示符号位,因此取值范围从 -2^(n-1) 到 2^(n-1)-1。
  • 无符号整数所有bit位都用于表示非负数,因此取值范围从 1 到 2^n-1。

等价类型

  • uint8byte是等价类型,区别在于byte类型用于强调数值是一个原始的数据而非小整数。
  • int32可用于表示Unicode字符即rune类型,因此二者是等价的,均用于表示一个Unicode码点。

小数

Go语言提供了两种精度的浮点数分别为float32float64,它们的算术规范由IEEE754浮点数国际标准定义,IEEE754浮点数标准被现代CPU支持。

float32类型的浮点数可提供约6个十进制数的精度,float64类型的浮点数可提供约15个十进制数的精度。通常会优先选择使用float64,因为float32累计计算误差会比较容易扩散。

  • 浮点数的极限值可使用math包中的math.MaxFloat32math.MaxFloat64常量获取。
  • 浮点数声明时可只写整数部分或小数部分,不可省略小数点。
  • 较大或较小的浮点数可采用科学计数法通过eE来指定指数部分
  • 格式化输出浮点数时使用%f来控制保留小数位数

复数

计算机中复数(complex)由两个浮点数表示,一个表示实部(real)一个表示虚部(imag)。

Go语言中复数的值由三部分组成RE + IMi,分别是实数部分RE、虚数部分IM、虚数单位iREIM均为float

Go语言提供两种类型的复数,分别是complex64即32位实数和虚数,complex128即64位实数和虚数,complex128为复数的默认类型。

复数声明

var z complex128 = complex(x, y)

z表示复数的变量名,complex128表示复数类型,complex()内置函数用于为复数赋值。xy分别表示构成该复数的两个float64类型的值,x为实部,y为虚部。

简写形式

z := complex(x, y)

对于z值可通过内置函数real(z)获取该复数的实部,使用imag(z)获取虚部。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值