#include uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshor...
分类:
其他好文 时间:
2015-08-18 18:17:24
阅读次数:
96
大家都知道,在进行网络传输的时候,因为分布在网络上的每台机器可能大小端的不同,需要进行字节序列转换,比如用win32 API的socket里面就有类似与htonl等与此类似的函数,它就是把主机端的字节序列转换成网络传输的字节序列。当然也有与之相反的函数ntohl,是把网络字节序,转换为主机字节序。比...
分类:
其他好文 时间:
2015-08-10 17:32:22
阅读次数:
120
#include?<stdio.h>
int?main(void)
{
????union?{?
????????int??i;
????????char?c;
????}?u?=?{?0x4200004c?};
????printf("%c\n",?u.c);
????return?0;
}...
分类:
其他好文 时间:
2015-07-28 19:04:22
阅读次数:
118
在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节...
分类:
其他好文 时间:
2015-07-27 20:50:26
阅读次数:
153
最近,该公司希望改变核心处理器,由小端处理器ARM为大端处理器POWERPC。bootloader以及kernel移植的工作对我来说,这是一个非常具有挑战性的工作。我很兴奋。 如此一来。当今主流的嵌入式处理器(MIPS ARM PPC)也都算接触过啦。 这几天開始动手做移植,首先要解决的是大小端的....
分类:
其他好文 时间:
2015-07-26 18:54:46
阅读次数:
250
谁知道Windows为什么不用UTF8,非要搞得和其他平台不一样?
分类:
其他好文 时间:
2015-07-25 07:05:49
阅读次数:
192
union:不允许只用联合变量名作赋值或其它操作。也不允许对联合变量作初始化赋值,赋值只能在程序中进行。小端存储:以字节为单位,低存低,高存高。任何数据在内存中都是以二进制(1或着0)顺序存储的,每一个1或着0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2字节)的 short in...
分类:
编程语言 时间:
2015-07-22 12:39:29
阅读次数:
106
#include static union{ char c[4];unsigned long mylong;} endian_test = { {'l','?','?','b'} };#define ENDIANNESS ( (char) endian_test.mylong )int main(....
分类:
系统相关 时间:
2015-07-21 10:21:49
阅读次数:
142
字节序由处理器决定,它分为两大阵营,一方以Intel为代表,其处理器的字节序是小尾端模式,即低地址存储数据的低位部分,高地址存储数据的高位部分;另一方以IBM为代表,其处理器的字节序是大尾端模式,即低地址存储数据的高位部分,高地址存储数据的低位部分。 可用以下的简单代码测试CPU的大小端,小段...
分类:
其他好文 时间:
2015-07-08 18:21:36
阅读次数:
100
本文上部分转自:http://www.cnblogs.com/zhengyuhong/p/3667869.html下半部分为自己所写。本文基于知识共享署名-非商业性使用 3.0 许可协议进行许可。欢迎转载、演绎,但是必须保留本文的署名林羽飞扬,若需咨询,请给我发信struct T{ unsig...
分类:
其他好文 时间:
2015-07-08 17:54:49
阅读次数:
110