ch1310 2022-06-29 09:26 采纳率: 100%
浏览 39
已结题

二进制文件是按照字节互换的方式存储数据的,将数据读入数组后,还按字节将高位、低位互换回来吗?

问题遇到的现象和发生背景

二进制文件是按照字节互换的方式存储数据的,将数据读入数组后,还按字节将高位、低位互换回来吗?

问题相关代码,请勿粘贴截图

例如一个2字节16进制数的1234,在二进制文件中是按照3412存储的。一个16进制的12345678数是按照78563412的格式存储的。我用fortran的read()语句把数据按照2字节把存储的3412读入到interge(kind=2)的数组中interge(kind=2)::data(N)中,我是直接用data数组就可以呢,还是要把数组里面的数高低位再交换一次。
本人不是计算机专业,只是用Fortran 编写研究项目的仿真计算小程序,数据计算,正常编写微分方程算法还可以,这个文件读取问题困扰死我了。

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-06-29 09:39
    关注

    你如果是逐个字节来读取的,读取后如果想要恢复为原来的int型,那么就需要交换字节的位置;如果你是直接按整型读取的,就不需要交换位置

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月7日
  • 已采纳回答 6月29日
  • 修改了问题 6月29日
  • 创建了问题 6月29日

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答