C中的位域与大小端问题

转载 2015年07月08日 14:43:18

大小端是数据在内存中存放的两种顺序。
大端:
是指先从高(大)地址分配内存。
小端:
是指先从低(小)地址分配内存。
所以,对于int型数值0×12345678的保存方式如下:
(假设保存在0开始的地址中)
CPU先存数据的低位。
大端:
地址:[00][01][02][03]
数值: 12 34 56 78
小端:
地址:[00][01][02][03]
数值: 78 56 34 12
对于C中的位域,也是同样的原理。
对于定义如下的结构体:
struct yaabou_com{
int a:1;
int b:2;
int c:3;
int d:4;
int e:5;
int f:6;
int g:11;
};
大端:
地址:[00000000][00000001][00000002][00000003]
数据:|abbcccdd||ddeeeeef||fffffggg||gggggggg|
小端:
地址:[00000000][00000001][00000002][00000003]
数据:|ddcccbba||feeeeedd||gggfffff||gggggggg|

所以如果大端定义了上面的结构体,小端要定义相反的结构体:
struct yaabou_com{
int g:11;
int f:6;
int e:5;
int d:4;
int c:3;
int b:2;
int a:1;
};
所以,一定要做网络字节序转换!
上面还有一个问题,对于小端来说,g是如何存放的呢?
如下:
小端:
地址:[00000000][00000001][00000002][00000003]
数据:|ddcccbba||feeeeedd||gggfffff||gggggggg|
位: |________||________||________||1_______|
:: |________||________||210_____||09876543|

相关文章推荐

C中的位域与大小端问题

端模式分为:大端字节序和小端字节序,也就是字节在内存中的顺序。   内存中地址存放数据的顺序是:由低到高。 大端字节序:高字节存于内存低地址,低字节存于内存高地址。如一个lo...

C位域与大小端字节序 间关系

C位域 大端 小端 字节序

大小端,以及位域问题。

大小端 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头...

bit 位域大小端转换问题

计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器...

关于C++中的大小端、位段(惑位域)和内存对齐

听到好几个朋友说到去一些公司做面试,总是遇到关于大小端、位段(或者叫位域)和内存对齐的考题,然后就不知所措了。虽然我认为很多开发根本就用不到这个,但是我认为很有必要学习理解这些知识点,因为它可以让你更...

C++随记总结(1)----关于C++中的大小端、位段(惑位域)和内存对齐

听到好几个朋友说到去一些公司做面试,总是遇到关于大小端、位段(或者叫位域)和内存对齐的考题,然后就不知所措了。虽然我认为很多开发根本就用不到这个,但是我认为很有必要学习理解这些知识点,因为它可以让你更...

【操作系统】大小端+位域+内存对齐

大小端+位域+内存对齐 大端和小端字节序 想毕很多初学者和我一样,对操作系统存放数据的形式有极大的困惑,以至于总是回答不对面试问题或者写不对程序。所以我自己也想在这里稍稍总结一下,如果有说得不对或不清...
  • yzt33
  • yzt33
  • 2015-04-19 21:43
  • 539

[转]位域、大小端、内存对齐

声明:由于本文的代码会受到计算机环境的影响,故在此说明本篇博文中的程序的运行环境。          1、Microsoft Windows 7 Ultimate Edition Service P...

C语言面试题——位域及大小端模式的理解

这里涉及大小端的问题,我记为 “小高高,小弟弟(低低)”,就是: “小端模式,是指数据的高位保存在内存的高地址中,数据的低位保存在内存的低地址中” 这是记小端模式的,有点黄,不过好记!那么大端模...

C++随记总结(1)----关于C++中的大小端、位段(惑位域)和内存对齐

原文链接:http://www.cnblogs.com/leezhm/archive/2011/07/19/2110864.html   听到好几个朋友说到去一些公司做面试,总是遇到...
  • xhhjin
  • xhhjin
  • 2012-05-11 14:33
  • 1933
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)