焦作维科网站建设公司,辽宁省工程造价信息,网站建设 7 24,怎么给网站做 360快照提到体系结构时#xff0c;经常遇到大小尾端的概念#xff0c;这里做个总结。 big endian#xff1a;大尾端#xff0c;也称大端#xff08;高位#xff09;优先存储。little endian#xff1a;小尾端#xff0c;也称小端#xff08;低位#xff09;优先存储。如下00…提到体系结构时经常遇到大小尾端的概念这里做个总结。 big endian大尾端也称大端高位优先存储。 little endian小尾端也称小端低位优先存储。 如下00000000 00000000 00000000 00000001的存储 大尾端 00000000 00000000 00000000 00000001 addr0 addr1 addr2 addr3 //先存高有效位在低地址 小尾端 00000001 00000000 00000000 00000000 addr0 addr1 addr2 addr3 //先存低有效位在低地址 故要判断机器的体系结构是大尾端还是小尾端以下程序可以完成任务 #include stdio.hint main(){ int tt 1; char *c (char*)(tt); if(*c 1) { printf(litte endian\n); } else { printf(big endian\n); } return 0;} 大小尾端数据间的相互转换 /* usage: to convert between the form of big-endian and little-endian author: ydzhang date: 2008年12月6日20:23:48 */#include stdio.htypedef unsigned int u32;typedef unsigned short u16;#define BSWAP_16(x) \ (u16) ( ((((u16)(x) 0x00ff)) 8) \ | (((u16)(x) 0xff00) 8) ) u16 bswap_16(u16 x){ return ((x 0x00ff) 8) | ((x 0xff00) 8);} u32 bswap_32(u32 x){ return ((x 0x000000ff) 24) | ((x 0x0000ff00) 8) | ((x 0x00ff0000) 8) | ((x 0xff000000) 24);}int main(){ u16 num_16 0x1234; u32 num_32 0x12345678; printf(%x\n, bswap_16(num_16)); printf(%x\n, BSWAP_16(num_16)); printf(%x\n, bswap_32(num_32)); return 0;} 类别C 查看评论转载于:https://www.cnblogs.com/dorothychai/archive/2009/04/24/2268163.html