asksg 2021-07-08 12:52 采纳率: 87.5%
浏览 16
已采纳

一道关于共用体的题。

img

  • 写回答

1条回答 默认 最新

  • include_iostream_ 2021-07-08 13:15
    关注

    这个东西跟机器有关啊,小端序下,1是01 00 00 00(从低地址开始书写),那么c[0]就是1,c[1]是0;如果是大端序,则1是00 00 00 01,这时c[0],c[1]都是0。
    还有一种非常少见的PDP端序,我记得是四字节分为两组两字节存储,组内小端序,组间大端序,例如0x12345678就是从低地址开始是34 12 78 56。这样,1就存储为00 00 01 00,这时c[0],c[1]也都是0。
    如果int是16位(比较老的机器,现代机器应该见不到这样的了),那么1就是00 01或01 00。
    综上所述,有1 0,0 1,0 0三种可能,其中0 1仅在16位大端序int的老机器上出现,1 0出现在intel这样的小端序机器上,0 0出现在PDP的32位整数或32位PPC这样的大端序机器上。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 python点云生成mesh精度不够怎么办
  • ¥15 QT C++ 鼠标键盘通信
  • ¥15 改进Yolov8时添加的注意力模块在task.py里检测不到
  • ¥50 高维数据处理方法求指导
  • ¥100 数字取证课程 关于FAT文件系统的操作
  • ¥15 如何使用js实现打印时每页设置统一的标题
  • ¥15 安装TIA PortalV15.1报错
  • ¥15 能把水桶搬到饮水机的机械设计
  • ¥15 Android Studio中如何把H5逻辑放在Assets 文件夹中以实现将h5代码打包为apk
  • ¥15 使用小程序wx.createWebAudioContext()开发节拍器