如何在 Delphi 中将浮点数转换为十六进制(以及反之)
可能的重复:
在 Borland Delphi 中将浮点或负整数转换为十六进制
是否有一个函数可以用来将浮点值转换为十六进制值并返回?
Possible Duplicate:
Converting float or negative integer to hexadecimal in Borland Delphi
Is there a function i can use to convert a floating point value to a hexadecimal value and back?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不是浮点数。 inttohex 可以将整数(也可能是 int64)更改为十六进制字符串。
可能您需要撬开 IEEE 格式双精度类型中的位并将它们更改为十六进制,然后将其与中间的点连接起来。
如果这不是您正在寻找的答案,请具体说明“十六进制值”的含义。
如果您只想将其转换为例如字节数组,请定义一个具有合适大小的字节类型数组(4 表示单精度,8 表示双精度,10 扩展)和类型转换。
Not floating point. There is inttohex to change integers (maybe int64 too) to hex strings.
Probably you need to pry apart the bits in the IEEE format double type and change them to hex which you then concat with a point inbetween.
If this is not the answer you are looking for, please specify what you mean by "hexadecimal value".
If you just want to convert it to an array of e.g. bytes, define a array of byte type with a suitable size (4 for single, 8 for double and 10 extended), and typecast.