66得票3回答
为什么x86是小端序的?

最近我一直在思考的一个问题是,为什么x86架构选择了小端序而不是大端序?

58得票9回答
为什么C++没有像有符号性那样的字节序修饰符?

(我猜这个问题适用于许多编程语言,但我选择以C++作为例子。) 为什么不能只写:struct foo { little int x; // little-endian big long int y; // big-endian short z; //...

58得票4回答
如何将浮点数数组转换为字节数组,然后再转回来?

我有一个 Float 类型的数组,需要将其转换为字节数组,然后再将其转回 float[] 数组... 有人能帮我正确地完成这个操作吗? 我正在使用 bitConverter 类。但在尝试追加结果时卡住了。 我这么做的原因是为了能将运行时的值保存到 IO 流中。目标存储是 Azure Pag...

56得票3回答
为什么现在既有小端模式又有大端模式?

为什么在二进制计算机科学发展了约40年之后,今天仍然同时使用小端序和大端序?是否存在某些算法或存储格式只适用于其中一种,且与另一种表现差距很大?如果我们全都改用一种序列,会不会更好呢?

54得票12回答
ASCII字符串和字节序

我的一个实习生向我展示了他在计算机科学课程中的一项关于字节序问题的考试。其中有一道题目展示了一个ASCII字符串"My-Pizza",要求学生展示在小端序计算机内存中该字符串的表示方式。当然,这听起来像是个恶作剧问题,因为ASCII字符串不受字节序影响。 但令人震惊的是,这位实习生声称他的教授...

50得票3回答
为什么优化会破坏这个函数?

我们最近在大学里参加了一场关于几种语言中编程特性的讲座。 演讲者写下了以下函数:inline u64 Swap_64(u64 x) { u64 tmp; (*(u32*)&tmp) = Swap_32(*(((u32*)&x)+1)); (...

50得票2回答
字节序的原因是什么?

我想知道为什么有些架构使用小端序,而其他的则使用大端序。我记得在某处读到过这与性能有关,然而,我不明白端序如何影响性能。同时我也知道: 小端序系统具有一个属性,即可以在不使用不同地址的情况下以不同的长度从内存中读取相同的值。 这似乎是一个不错的特性,但尽管如此,许多系统仍然使用大端序,这可...

49得票13回答
如何在C#中使用bitConverter.ToInt32方法从大端数据获取小端数据?

我正在使用C#编写一个应用程序,其中包含十六进制值的字节数组。 我得到的数据是大端格式,但我需要它作为小端格式,并且我正在使用Bitconverter.toInt32方法将该值转换为整数。 我的问题是,在转换值之前,我必须将那4个字节的数据从源字节数组复制到临时数组中,然后反转该临时字节数...

49得票3回答
浮点数的字节序问题?

我正在为实时海上模拟器编写客户端和服务器,并且由于我需要通过套接字发送大量数据,所以我使用二进制数据来最大化可发送的数据量。我已经了解了整数的字节序问题,以及如何使用htonl和ntohl来规避字节序问题,但我的应用程序(就像几乎所有的仿真软件一样)处理大量浮点数。 我的问题是:在处理浮点数...

47得票1回答
什么是最符合Python风格的确定字节序的方法?

我希望找到一种最佳方法来确定我的代码运行的机器是大端序还是小端序。我有一个可行的解决方案(尽管我尚未在大端序的机器上测试过它),但它似乎有点笨拙:import struct little_endian = (struct.pack('@h', 1) == struct.pack('<h'...