返回介绍

数字之间的转换

发布于 2024-10-12 12:51:53 字数 526 浏览 0 评论 0 收藏 0

对于非常量的数字转换,需要遵守以下规则:

  • 在转换整型数字时,如果是一个有符号整型,它是继承有符号的无限精度;否则就不用继承符号。转换时会截断数字以适应类型的大小。例如:如果 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文