位段的声明

有些信息只需要占一个或者几个二进制位,不需要占用一个完整的字节,为节省空间,所以产生了位段结构。位段就是把一个字节中的二进制划分为几个不同的区间,并说明每个区段的位数每个段有一个段名,允许在程序中按段名进行操作,这样就可以把几个不同的对象用一个字节的二进制位段来表示。

位段的声明和位段变量的声明相仿:

Struct 位段结构名


{

位段表

};

位段表的形式如下:

类型说明符        位段名:位段长度;

例如

struct PackDataType
{
	unsigned a:2;
	unsigned b:6;
	unsigned c:5;
	unsigned d:3;
	unsigned e:8;
	unsigned f:4;
	unsigned g:4;

};

位段的定义与结构变量的定义相同:

1先声明位段类型后定义位段变量

struct PackedDataType
{
	unsigned a:2;
	unsigned b:6;
	unsigned c:5;
	unsigned d:3;
	unsigned e:3;
	unsigned f:8;
	unsigned h:4;
	unsigned g:4;
};
struct PackedDataType data;//<span style="font-family:宋体;">位段变量的定义
</span>
2在声明位段类型时定义位段变量

struct PackedDataType
{
	unsigned a:2;
	unsigned b:6;
	unsigned c:5;
	unsigned d:3;
	unsigned e:3;
	unsigned f:8;
	unsigned h:4;
	unsigned g:4;
}data;
3直接定义位段变量

struct 
{
	unsigned a:2;
	unsigned b:6;
	unsigned c:5;
	unsigned d:3;
	unsigned e:3;
	unsigned f:8;
	unsigned h:4;
	unsigned g:4;
}data;
上面data为PackedDataType型变量,共占4个字节,

对于位段的定义的2点说明

1位段可以无位段名,这是它只能用来做填充或调整位置,无名的位段是不能使用的,0宽度的无名段位段用来使下一个位段从新的字节起始位置开始存贮

2一个位段必须存贮在同一个字节中,不能跨2个字节。屄图一个字节所剩空间不够存放另一段时,将从下一字节起存放此位段,也可以有意使某位段从下一字节开始

struct PackedDataType
{
	unsigned a:2;<span style="font-family:宋体;">//位段长度为2</span>
	unsigned :0;<span style="font-family:宋体;">//0宽度无名位段,使下一位段从下一个字节起始位置开始存贮</span>
	unsigned b:5;<span style="font-family:宋体;">//存贮在第2个字节中</span>
	unsigned c:8;<span style="font-family:宋体;">//位段不能跨字节存放,存贮在第3个字节中</span>
	unsigned d:4;
	unsigned e:4;
};

注意:1应为位段不允许跨字节存贮所以位段的长度不能大于一个字节的长度,也就是位段长度不能超过8位二进制

2位段在本质上是一种结构类型,只不过成员是按二进制分配的

3位段成员必须是int或者unsigned类型的


========================西西美图 v5.0 发布日志========================= 移除了暂时不完善的功能。以后会一个一个完善好再发布。包括:个人主页、关注、私信、专辑、热门。 主要改动: 01 可设置略缩图的宽度,默认为220。高度为等比例缩放。例如原图为440 * 660,那么略缩图就是220 * 330。 02 分页模式。图片按固定的宽高显示。宽高的值可设置,宽度不能大于略缩图的宽度。如果略缩图的高度大于设置的高度,   大于的部分将被隐藏,图片不会拉伸变形。小于的话就按略缩图的高度显示。   分页模式适合大部分的图片高度差不多的情况。具体效果可见官网。 03 评论功能可在系统设置中关闭。默认打开。 04 图片审核功能可在系统设置中关闭。默认打开。 05 cdn加速功能。开启则加载cdn的js css font文件。关闭加载本地的js css font文件。 06 详情页面新增一个发现按钮。会随机显示一条图片记录。 07 重写注册和登录页面的样式。 08 修正上传图片的一个BUG。4.0中当上传的图片的后缀名为大写的时候(1.JPG 2.PNG)生成略缩图会出错,从而导致发布失败。 09 修改了标签页面的样式。 10 修改了网络发布功能。使用方法一样,只是现在程序会将远程文件下载到本地服务器。存储方式和本地上传的一样。 11 修改搜索。自动去掉输入字符串两边的空格。 12 修改瀑布流模式每次载入的图像数量。之前是固定的,现在会载入当前分辨率下的两行图像。分页模式每页显示12张是固定的。 13 新增安装程序。     安装程序运行路径 http://你的网站地址/install。   安装程序会根据你填写的表单安装数据库和创建配置文件。   如果需要手动安装,则方法和之前的一样。具体方法见4.0的发布日志。   安装程序无法解决伪静态问题。伪静态需要你自己根据你的主机来配置。   并且请将dist install文件夹排除再外。否则可能导致安装程序无法运行、CSS JS FONT等资源无法加载。     相关阅读 同类推荐:站内源码推荐
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值