鱼C论坛

 找回密码
 立即注册
查看: 2025|回复: 22

[已解决]小甲鱼那个大端和小端的文章是不是写错了

[复制链接]
发表于 2019-7-6 14:04:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
所谓的大端即低位字节排放在内存的低地址端,而高位字节排放在内存的高地址端。

小端则相反:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。

这两句和百度百科上是反的
最佳答案
2019-7-7 15:58:23
啊涂涂 发表于 2019-7-6 20:22
小甲鱼上说的小端是是 低位字节放在内存高地址端

你发的小端是 低位字节放在内存低地址端

感谢,确实文字描述那段写反了~

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
小甲鱼 + 5 + 5 + 5 感谢指出,已经改正。

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-6 14:44:40 | 显示全部楼层
百度百科?
贴出来我看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 14:48:16 | 显示全部楼层
小端——数据尾端是低地址  https://blog.csdn.net/youwotianya/article/details/80957551
小端:将低序的存在低地址  https://blog.csdn.net/yxccc_914/article/details/55803055
小端模式(Little-endian):低位字节排放在内存的低地址端 https://blog.csdn.net/w614171629/article/details/82150292

我找了3个,都是一样的

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
啊涂涂 + 5 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 15:47:14 | 显示全部楼层
大端:高字节放低地址
小端:底字节放高地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 15:52:31 | 显示全部楼层
迷雾少年 发表于 2019-7-6 15:47
大端:高字节放低地址
小端:底字节放高地址

你确定吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 16:30:51 | 显示全部楼层
本帖最后由 迷雾少年 于 2019-7-6 16:32 编辑


打错了,应该是

大端:高字节放低地址
小端:高字节放高地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 16:50:15 | 显示全部楼层
本帖最后由 jackz007 于 2019-7-6 16:55 编辑

    小端模式(little-endian)的低位字节放在低地址,高位字节放在高地址。例如,整型数 0x12345678 在内存中的存储顺序为 12 34 56 78;

    大端模式(big-endian)的低位字节放在高地址,高位字节放在低地址。例如,整型数 0x12345678 在内存中的存储顺序为 78 56 34 12;

    我们日常见到的基于 Intel 系列芯片架构的 PC ,采用的一律是大端(big-endian) 模式,与操作系统无关。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 17:52:19 | 显示全部楼层
jackz007 发表于 2019-7-6 16:50
小端模式(little-endian)的低位字节放在低地址,高位字节放在高地址。例如,整型数 0x12345678 在内 ...
  1. 我们日常见到的基于 Intel 系列芯片架构的 PC ,采用的一律是大端(big-endian) 模式,与操作系统无关。
复制代码


我们日常见到的是小端,不是大端
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 18:11:34 | 显示全部楼层
人造人 发表于 2019-7-6 17:52
我们日常见到的是小端,不是大端

      确实搞错了,多谢指正。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-6 20:22:07 | 显示全部楼层
人造人 发表于 2019-7-6 14:48
小端——数据尾端是低地址  https://blog.csdn.net/youwotianya/article/details/80957551
小端:将低序的 ...

小甲鱼上说的小端是是 低位字节放在内存高地址端

你发的小端是 低位字节放在内存低地址端

这不是反着的嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 20:25:44 | 显示全部楼层
啊涂涂 发表于 2019-7-6 20:22
小甲鱼上说的小端是是 低位字节放在内存高地址端

你发的小端是 低位字节放在内存低地址端

发一下小甲鱼老师那个 小端 的链接
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-6 20:28:31 | 显示全部楼层
人造人 发表于 2019-7-6 20:25
发一下小甲鱼老师那个 小端 的链接

https://fishc.com.cn/forum.php?m ... peid%26typeid%3D571

我现在迷糊了,12345678 哪边是高字节,哪边是低字节呢?按照咱们看数字的方法应该是 1234 高,5678 低吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-6 20:33:43 | 显示全部楼层
jackz007 发表于 2019-7-6 16:50
小端模式(little-endian)的低位字节放在低地址,高位字节放在高地址。例如,整型数 0x12345678 在内 ...

你写错了吧兄弟,你去百度百科看下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-6 20:50:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-7 09:02:49 | 显示全部楼层
人造人 发表于 2019-7-6 20:50
对,是小甲鱼老师的错
@小甲鱼

我刚看了视频,,,,,甲鱼哥是全部例子和概念都反了。。。。我要再去看看题改改笔记

点评

我很赞同!: 5.0
我很赞同!: 5
头像好评  发表于 2019-7-7 15:15

评分

参与人数 1荣誉 +2 鱼币 +3 贡献 +3 收起 理由
不二如是 + 2 + 3 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-7 09:46:42 | 显示全部楼层
啊涂涂 发表于 2019-7-6 20:28
https://fishc.com.cn/forum.php?mod=viewthread&tid=75394&extra=page%3D1%26filter%3Dtypeid%26typeid% ...

我又去看了一下,我的理解,例如数据:123456.,12是高位字节,56那边是低位字节
内存地址:左边是低地址右边高地址

大端,高字节在内存低地址,12先存入低地址,接着继续
小端,低字节在内存低地址,56先存入低地址,接着继续
虽然小端看着顺序是反着的(肉眼看),但是由于字节的高低,是从左到右排的,所以字节和内存是一致的

甲鱼哥概念错了,不过按这样看甲鱼后面关于大小端的优劣势的举例我又懵了

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +1 收起 理由
啊涂涂 + 3 + 3 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-7 09:48:29 | 显示全部楼层
小脑斧 发表于 2019-7-7 09:46
我又去看了一下,我的理解,例如数据:123456.,12是高位字节,56那边是低位字节
内存地址:左边是低地 ...

我也是越看越糊涂,只能等小甲鱼来解释了@小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-7 09:55:57 | 显示全部楼层
啊涂涂 发表于 2019-7-7 09:48
我也是越看越糊涂,只能等小甲鱼来解释了@小甲鱼

还有那道例题,a,b结果是1,2,然而我的运行结果是0,2
小甲鱼的代码,你运行看看,我的dev和vs结果都是0,2
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         char a = 0, b = 0;
  5.         int *p = (int *)&b;

  6.         *p = 258;

  7.         printf("%d %d\n", a, b);

  8.         return 0;
  9. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-7 14:44:58 | 显示全部楼层
小脑斧 发表于 2019-7-7 09:55
还有那道例题,a,b结果是1,2,然而我的运行结果是0,2
小甲鱼的代码,你运行看看,我的dev和vs结果都是 ...

要输出1, 2,前提是编译器把变量b放在变量a的前面,变量b低地址,变量a高地址,并且两个变量必须紧挨着存放,没有标准规定编译器必须这样做,所以这样的代码属于未定义行为,不同的编译器会有不同的结果,同一个编译器的不同编译选项很可能就会有不同的结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-7 14:46:10 | 显示全部楼层
人造人 发表于 2019-7-7 14:44
要输出1, 2,前提是编译器把变量b放在变量a的前面,变量b低地址,变量a高地址,并且两个变量必须紧挨着 ...

好吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 15:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表