今天我们来看一看Go语言中的第二部分——数据类型中的整数类型和浮点类型。我们在学习每一门编程语言中都会接触到数据类型,不同的数据类型面对的使用情况也不相同。Go语言中的数据类型可以分为如下图所示:
一、整数类型
整数类型介绍:
简单的说,就是用于存放整数值的,比如10,-45,6712等等。
(1)有符号整数类型:
PS:那么127怎么算出来的?
01111111 -->二进制 ---》转为十进制:
12^6 + 12^5 + 12^4 + 12^3 + 12^2 + 12^1 + 1*2^0
= 64 + 32 + 16 + 8 + 4 + 2 + 1
= 127
PS:-128怎么算出来的?
10000000 --->二进制 --->一看就是个负数
10000000 --》负数的二进制
减1:01111111
取反:10000000 ---》得到一个正数 2^7 = 128
加负号:-128
(二进制中最高位的0或1通常表示数字的正或负,在这里我们为了方便理解和记忆,并没有使用反码进行书写。)
(2)无符号整数类型:
表数范围的边界计算:
11111111= 2^7+127 = 128 + 127 = 255
00000000 = 0
(3)其他整数类型:
PS:Golang的整数类型,默认声明为int类型
(4)这么多整数类型,使用的时候该如何选择呢?
Golang程序中整型变量在使用时,遵守保小不保大的原则, 即:在保证程序正确运行下,尽量使用占用空间小的数据类型
二、浮点类型
浮点类型介绍:简单的来说,就是用于存放小数值的,比如3.14、0.28、-7.19等等。
(1)浮点类型种类:
PS:底层存储空间和操作系统无关
PS:浮点类型底层存储:符号位+指数位+尾数位,所以尾数位只是存了 一个大概,很可能会出现精度的损失。
(2)注意:
1)我们在定义的时候既可以定义为正浮点数,也可以定义为负的浮点数,如:var num1 float32 = 3.14或var num1 float32 = -3.14
2)浮点数可以用十进制表示形式,也可以用科学计数法表示形式 E 大写小写都可以的,如:var num6 float64 = 314e+2
3)浮点数可能会有精度的损失,所以通常情况下,建议使用:float64
4)golang中默认的浮点类型为:float64