文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
数字之间的转换
对于非常量的数字转换,需要遵守以下规则:
在转换整型数字时,如果是一个有符号整型,它是继承有符号的无限精度;否则就不用继承符号。转换时会截断数字以适应类型的大小。例如:如果
v:=uint16(0x10F0)
,然后 ``uint32(int8(v)) == 0xFFFFFFF0 。类型转换总是生成有效值,并且永远不会溢出。如果要将浮点数转换成整型,会丢弃小数部分(截断为零)。
如果要将整型或浮点型转换成浮点数类型,或或者一个复数转换成其他复数类型,结果会四舍五入成指定精度。例如: 可以使用超出 IEEE-754 32 位数的附加精度来存储 float32 类型的变量 x 的值,但 float32(x)表示将 x 的值舍入为 32 位精度的结果。x + 0.1 会使用超过 32 位的精度,而
float32(x+0.1)
不会。
在所有浮点数和复数的非常量转换中,如果结构类型不能成功表示数据,那么结果将会依赖于具体平台实现。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论