文天大人 2020-01-15 17:24 采纳率: 75%
浏览 330
已采纳

C++初学者,一个关于内存读取顺序的疑惑

各位大佬好,小弟现在有个问题,就是比如我开辟了一块连续的内存,占了4个字节,四个字节的物理地址由地位到高位分别是1,2,3,4,那么我想问:cpu读取这块连续内存的时候,一定是从1(低位地址)开始读吗?或者说也可能从4高位地址开始读?
说的通俗一点就是,cpu读取内存的时候,是从低位地址开始读,还是从高位开始读,或者说都有可能?

  • 写回答

2条回答 默认 最新

  • 文天大人 2021-07-15 10:31
    关注

    读取的时候是从低字节读取,而之前采纳的答案是错误的,他说大端法和小端法,只是应用与存储数据,而不是读取数据

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • threenewbee 2020-01-15 17:29
    关注

    对于字节,怎么读都可以。所以内存叫做 RAM (random access memory),所谓random就是随机,也就是不但可以 1234 4321 也可以 1324 1423 1342...
    你像磁带、管道、通讯口,就只能顺序读取了。

    不过你后来偷换了概念,或者问了另一个问题,字节变成了位。那就不一样了。
    字节是存储器,也是cpu读取的最小单位,位就不是了,一个字节是整体读取的,而不是从高到低或者反过来。串口才是按照位读取的。

    还有一个概念,字节顺序,分为 little endian和big endian,对于一个整数,4个字节,那么究竟哪个字节在前哪个字节在后呢,这个不同的计算机就不同了,x86计算机是little endian,低字节在前,高字节在后(注意是字节,不是位)

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月15日

悬赏问题

  • ¥15 西门子plc6ES7217-1AG40-0XB0怎么rs485通讯呀!
  • ¥15 matlab有svec这个函数吗?
  • ¥15 无法调用VideoWriter_fourcc
  • ¥15 VB6.0无法加载网页验证码图片到picturebox中,求解。
  • ¥15 C#和GDAL对栅格处理
  • ¥15 我现在有一些关于提升机故障的专有文本数据,量也不多,我在label studio上进行了关系和实体的标注,完成了知识图谱的构造,那么我使用生成式模型的话,我能做哪些工作来写我的论文?
  • ¥15 电脑连不上无线网络如下诊断反馈应该如何操作
  • ¥15 telegram api 使用forward_messages方法转发消息时,目标群组里面会出现此消息来源,如何隐藏?
  • ¥15 关于#tensorflow#的问题:有没有什么方法可以让机器自己学会像素风格的图片
  • ¥15 Oracle触发器字段变化时插入指定值