网站首页 > 文章精选 正文
整型概述
- 在Go语言中可以进行数学运算的的类型分为整型和浮点型
- 所有的整数数字存储到整型中就可以进行数学运算
整型和整型运算的结果还是整型(5/2=2)
都是整型,但是int8和int16之间不可以进行运算,必须先进行类型转换
- 整型分为有符号整型和无符号整型
有符号整型,有正整数和负整数,其二进制最高位表示符号,0为正数,1为负数,int和intx为有符号整型
//int8 举例
0000 0010 = 2 //起始数字0,表示正数,数值为 1X2^1=2
1000 0010 = -2 //起始数字1,表示负数 ,数值为 -1X2^1=-2
无符号整型,只能取大于等于0的整数,其二进制最高位表示数字,无特殊含义。unit和unitx为无符号整型
//uint8 举例
0000 0010 = 2 //数值为 1X2^1=2
1000 0010 = 130 //数值为 1X2^7+1X2^1=128+2=130
整型取值范围和作用
有符号整数统一公式为:
-2的n-1次方~2的n-1次方减一
无符号整数统一公式为:
0到2的n次方减一
类型 | 取值范围 |
int8 | [-128,127] //有符号整型,[2^(8-1), 2^(8-1) - 1],以下有符号整型同样计算方法 |
int16 | [-32768,32767] |
int32 | [-2147483648,2147483647],Go语言中没有字符类型,所有字符都使用int32存储 |
int64 | [-9223372036854775808,9223372036854775807] |
int | 受限于计算机系统,系统多少位,int就是多少位 |
uint8 | [0,255] //无符号整型,[0, 2^8 - 1],以下无符号整型同样计算方法 |
uint16 | [0,65535] |
uint32 | [0,4294967295] |
uint64 | [0,18446744073709551615] |
uint | 受限于计算机系统,系统是多少位,u |
rune | 与int32类似,常用在获取值的Unicode码 |
byte | 与int8类似,强调值为原始数据,一个字节占用8个二进制 |
uintptr | 大小不确定,类型取决于底层编程 |
类型转换
- Go语言是静态类型语言,并且不具备低精度自动转换向高精度自动转换功能,所以不同类型变量之间相互赋值需要进行类型转换
- 示例:
func main() {
//声明3个类型变量
var a int = 1
var b int32 = 2
var c int64 = 3
fmt.Printf("%T,%T,%T\n",a, b, c) //输出:int,int32,int64
//不同类型之间不能进行数学运算,否则报错,如下所示
//d := a + b
//fmt.Println(d) //示例代码报错:invalid operation: a + b (mismatched types int and int32)
//把int32转换为int
a = int(b) //将b(原int32)转换为int类型,并且赋值给a(下述示例类似)
fmt.Println(a,b) //输出2,2
//把int64转换成int32
b = int32(c)
fmt.Println(b, c)
//把int转换为int64
c = int64(a)
fmt.Println(a, c)
}
不同进制整数
- 支持八进制、十进制、十六进制数字创建整型,最后由系统转换为十进制
- 不支持二进制值
func main() {
//默认表示十进制
d := 17
//0开头表示八进制
o := 021
//0x开头表示十六进制
x := 0x11
//e2表示10的2次方
e := 11e2
//输出
fmt.Println(d, o, x, e)
//把变量d中的内容转换为二进制
b := fmt.Sprintf("%b", d)
fmt.Println(b)
}
- 上一篇: java基本数据类型
- 下一篇: CSP初赛冲刺 计算机体系基本结构
猜你喜欢
- 2025-05-16 Java 里的基本类型和引用类型
- 2025-05-16 新手小白学Java|零基础入门笔记|原来学Java可以这么简单
- 2025-05-16 深度学习CV方向高频算法面试题6道|含解析
- 2025-05-16 C语言结构体成员变量名后加冒号和数字的含义
- 2025-05-16 C语言之核心语法
- 2025-05-16 CSP初赛冲刺 计算机体系基本结构
- 2025-05-16 java基本数据类型
- 2025-05-16 深入探索C语言数据类型:整型、浮点型、字符型全解析!
- 2025-05-16 mysql索引
- 2025-05-16 彻底搞懂PLC的数据类型和数据存储形式(干货汇总-图文并茂)
- 05-16一文学完《图解HTTP》
- 05-16您未被授权查看该页
- 05-16快码住!带你十分钟搞懂HTTP与HTTPS协议及请求的区别
- 05-16一张图带你了解HTTP 9个请求方法,收藏!
- 05-16Java 里的基本类型和引用类型
- 05-16新手小白学Java|零基础入门笔记|原来学Java可以这么简单
- 05-16深度学习CV方向高频算法面试题6道|含解析
- 05-16C语言结构体成员变量名后加冒号和数字的含义
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)