登录
首页 >  Golang >  Go问答

缩小整数会带来什么变化?

来源:stackoverflow

时间:2024-03-11 11:24:26 469浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《缩小整数会带来什么变化?》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

假设您有一个 int64 值。如果将该值转换为 int32 会发生什么。它如何影响值的符号?它相当于使用模运算符吗?


解决方案


您指的是转换,而不是强制转换。 specification的相关部分说:

在整数类型之间转换时,如果值为有符号整数,则符号扩展为隐式无限精度;否则为零扩展。然后它被截断以适合结果类型的大小。例如,如果 v := uint16(0x10F0),则 uint32(int8(v)) == 0xFFFFFFF0。转换始终产生有效值;没有溢出的迹象。

int64int32 的转换会被截断。截断会影响值的符号。

由于隐式符号扩展,从 int32int64 的转换保留了符号。

今天关于《缩小整数会带来什么变化?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>