浮点型数据2字节_go语言学习笔记(3)-数据类型的学习

本文详细介绍了Go语言中整数类型(int与uint)的大小、范围及有无符号的区别,以及浮点型(float32和float64)的精度与存储结构。重点讲解了字符类型和字符编码,以及在实际开发中的使用细节和存储原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1整数类型

类型 有无符号 占用空间 表数范围

int8 有 1字节 -128~127

int16 有 2字节 -

~
-1

int32 有 4字节 -

~
-1

int64 有 8字节 -

~
-1

类型 有无符号 占用空间 表数范围

uint8 无 1字节 0~255

uint16 无 2字节 0~

-1

uint32 无 4字节 0~

-1

uint64 无 8字节 0~

-1

类型 有无符号 占用空间 表数范围

int 有 32位系统4个字节 /64位系统8个字节 参考上述表格

uint 无 32位系统4个字节 /64位系统8个字节 参考上述表格

rune 有 与int32一样 4字节 -

~
-1

byte 无 与uint8一样1字节 0~255

整型的使用细节

(1)go语言各整数类型分为:有符号和无符号,int和uint的大小和系统有关。

(2)go语言整型默认声明为int型。

(3)go程序在整型变量的使用中,遵守保小不保大原则,即:在保证正确运行下,尽量使用占空间小的数据类型。{如:年龄这个数据类型我们可以采用byte类型来存储}

查询数据变量的字节大小和数据类型

8f98ca35f039f752afd8e5287f60f651.png
数据变量字节大小和类型查询代码和注释

7b384375dbdc64294a14efc31c84ffa9.png
运行效果图

2小数类型/浮点型

类型 占用空间 表数范围

单精度float32 4字节 -3.403E38~3.403E38

双精度float64 8字节 -1.798E308~1.798E308

浮点数使用细节

(1)浮点数在机器中存放形式:浮点数=符号位+指数位+尾数位

(2)浮点型存储分为三部分,所以在存储过程中尾数部分可能丢失,造成精度损失。

(3)因为float64精度比float32要准确,如果我们要保存一个精度高的数,则应选择float64

(4)go语言的浮点类型有固定的范围和字段长度,不受OS(操作系统)影响。

(5)go语言浮点类型默认声明为float64。

(6)浮点型常量有两种表示形式

十进制数形式 如:6.66 或者 .77(这个等价于0.77)必须有小数点在前面

科学技术法形式 如:

6.666e2 = 6.666 * 10的2次方 即 表示的是666.6这个值

6.666E-2 = 6.666 *10的-2次方 即 表示的是0.06666

从上述两个应该看出e和E的效果是等同的。

3字符类型

go语言中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。

e30eca6dcfb6a28796d968b9ebc31b96.png

c3689c10b364db51e878f79687bf411a.png

结合两张图,首先我们的byte类型的表数范围为0-255,所以它也就只能输出对应ASCII表(0~255)这个范围内的字符,比如【0-1,a-z等等】可以直接保存到byte,如果我们要保存的字符对应码值大于255,这时我们可以考虑使用int类型保存,从图中可以看到’南'这个字符对应的码值为21335,所以byte这个类型是保存不了的,会产生上溢,所以我这里是使用了int类型来保存'南'这个字符。

字符类型的使用细节

(1)字符常量是用单引号('')括起来的单个字符,例如;var q1 byte='a'

(2)go语言的字符使用UTF-8编码

(3)在go中,字符的本质就是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。

(4)我们也可以直接给某个变量赋值一个数字,然后格式化输出时用%c,会输出该数字对应的unicode字符。

(5)字符类型是可以进行运算的,相当于一个整数,因为字符有对应的UTF-8编码的码值。

字符类型的本质运行

存储:字符->对应码值->二进制->存储

读取:二进制->对应码值->字符->读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值