Fortran的REAl类型用二进制写入文件,结果与C的二进制写不一样?
我需要让fortran与c两种代码异步共享一些数据,于是让fortran用二进制流(stream)写入一些real类型并输出到屏幕上。在用C代码fread的时候(rb),得到的float和fortran中的输出在屏幕上的不一样。
后来我又实验了,用fortran写入某real并打印在屏幕,然后直接调用C,将该real传入。在C中将其也写入另一个二进制文件。最后用HEX格式发现两个文件的数据竟然不一样。
查了一下资料,两个不是都是IEEE存储浮点数据吗?为什么会这样?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
C代码
Fortran代码
运行结果
结果没问题啊