VC/MFC
VB
Delphi
C++ Builder
C/C++
Java
.NET技术
MS-SQL Server
PowerBuilder
DB2
Oracle
Web 开发
Linux/Unix社区
硬件/嵌入开发
移动平台
您的位置:
程序门
->
c/c++
-> c++ 语言
一种节省空间的想法:¦ 动态位域 ¦
[
收藏此页
] [
打印本页
]选择字色:
默认
灰色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
背景色:
默认
黑色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
字体:[
大
][
中
][
小
]
一种节省空间的想法:| 动态位域 |
[已结贴,结贴人:icesnowjank]
发表于:
2007-08-23 13:20:00
楼主
众所周知c语言里面的位域是为了使存储0,1这些只用到一位的变量不至于浪费位数
比如:struct a {
int a:1;
int b:4;
..........
};
但是这些个1,4什么的都是固定的,我的想法就是 能不能定义像:
struct a { int a:n}; 其中n 是预先不知道 实际当中要用多少位 等到用的时候 再进行动态分配,不知道 我这种想法可行不可行 . . 请高手给个思路..
发表于:
2007-08-23 13:26:15
1
楼 得分:
4
真的需要省这点点内存么?
给你一个建议,最好永远都不用位域。
你的想法可行,只是会更浪费内存,因为你一定还要找一个地方来保存这个n。
发表于:
2007-08-23 14:24:47
2
楼 得分:
5
位域实际没有节省什么空间,只是更加直观而已,你自己可以用位操作代替。动态改变你位操作就可以任意操作32bit的信息了。如
#define firstbit 0x01
#define secondbit 0x02
#define thirdbit 0x04
#define fourthbit 0x08
a ¦= firstbit; //设置位
b &= ~secondbit; //取消
发表于:
2007-08-23 14:26:46
3
楼 得分:
2
个人觉得
稳定性先保证,再追求这些
发表于:
2007-08-23 15:06:33
4
楼 得分:
1
可以,但是过分强的机器性可能导致移植性的低下
发表于:
2007-08-23 15:07:14
5
楼 得分:
2
何况这些的节省还不如多优化其它部分来得实际,除非是非常严酷的嵌入式需要
发表于:
2007-08-23 15:19:30
6
楼 得分:
0
或者这样也行,有没有一种方法能节约位空间,一个变量能用到多少位,就动态的分配给他多少位 我这个程序可能要定义超多的变量,有些变量可能用的位数多,有的用的位数少,这样就浪费了 很多位空间, 我的想法就是要节约这些位空间。。
发表于:
2007-08-23 15:47:08
7
楼 得分:
2
你的程序用到多少个用于标识状态的符号变量,占用了多少空间?以至于需要从这里着手节省内存空间?
发表于:
2007-08-23 19:29:56
8
楼 得分:
4
动态的恐怕更加费内存,搞静态的吧,建立若干个bit类,用自己的bit内存池。
比如:
class cbitpool;
class c1bitint;
class c2bitint;
class c3bitchar;
...........................
从头到尾巴改写你所需要的任何运算,应该就可以了吧。
下一篇:
构造函数的问题
上一篇:
dword类型怎么写入注册表?
相关文章
方正电子的待遇怎么样?
operator =的问题
一个关于strcpy的奇怪问题。
tellg()一个奇怪问题
c语言中图形调用路径问题
cstring 的用法。
帮忙看一下这个统计整数number中数字digit的个数...
用什么编译软件?
c++读写文件中换行的问题
请教一个小问题
cstring str = "11111110";str表...
如何处理子窗口滚动条的消息
请求援助(dll java c/c+...
在dev-c++下能通过编译,但看不到结果....
请问那位大哥大姐有c++ primer第五版或是第...
vc8到gcc移植问题:模板类中的成员模板函数在全局...
求助,c语言文件操作
内联函数里定义函数还是内联的吗?
帮帮我吧,一个问题
c++问题?
其他资讯
表达式-1<=3<=-5值,请教
32位整数的二进制位数
fgets函数读取文件的问题
求助c语言程序暂停的问题...
stlport 双重排序和容器选择的问题
请问,用c++写网络程序,看什么书好??
为什么类的拷贝构造函数的参数必须是引用呢
求教! #define va_arg(ap,t) (&nb...
新书到了,我要散分
请教一个宏函数和模板联合使用的问题
数组问题
这样算不算越界?
out of memory , 怎么解决啊...
链表节点排序~~
帮忙改改程序,一点小问题
关于_itoa()的问题
投诉 : 我的所有资料怎么都变为...
指针的赋值
能不能用scanf读管道里面的东西啊?
请问一下默认构造函数与对象
快速检索
分类导航标签a
Web 开发非技术区
专题开发/技术/项目英保通解决方案
C/C++C++
扩充话题活动聚会
其他数据库开发Anywhere
其他数据库开发数据库报表
硬件使用装机与升级及其他
硬件使用电脑整机及配件
.NET技术.NET技术前瞻
WebSphere开发工具/WSAD
移动平台近距离无线技术
硬件/嵌入开发嵌入开发(WinCE)
WebSphereServer
Oracle认证与考试
其他开发语言Kylix
最新资讯
listview控件的垂直滚动条,如何移到最后
磁盘权限问题如何解决
csdn框架的边界是怎样作出来的?
读取手机短信息·
查找树型结构的根结点
tomcat应用不能正常访问?急!
菜鸟问题比较多,大家不要介意:php和mysql貌似不...
如何实现下载mdb文件
请问大哥,有关 select ....option&nb...
请教intra-mart得问题。
vc程序中窗口默认是最大化状态的方法?
高分求解决方案,为什么我jcombobox选择了却没效果...
请教:在vc2005中如何使用串口并口通信
proxool连接池,运行一晚后就出错
mysql企业版在哪里买?
请问谁知道现在usb一拖四的芯片名称 谢谢
crystalreport重大问题
跪求验证码程序-在线等
不能扫描对等主机端口
c#中应该怎么调用
移动硬盘usb启动的问题!!!
intel下一代nehalem处理器功耗大幅下降
[在线等]soap 版本可能不匹配: 出现意...
sql server2000的数据库之间的相互导入问题...
directshow的数据传输问题
部署到服务器上的tomcat后出现的错误
c#基本语法掌握后,能不能直接学习asp.net
问两个类型所在的头文件
问个小问题啊
如何在vc中使用bcb的类
救命啊
如何在一个界面中建立两组单选框?
我是菜鸟,想参加编程培训,不知是否有效果?请各...
求读dxf文件的 源代码
ole-db数据库问题
lotus的搜索速度是否还和版本有关?
请教如何在gforge.osdn.net.cn上面上传自己的项目...
"诚信315"(www.chengxin315.com)团队欢迎您的加...
组件用不了,不知道是怎么回事
压缩和解压后的流能序列化和反序列化吗????
热门点击
dtsrun 调用meta data services里...
在驱动开发中,能否使用标准c++中的stl?
紧急求救:如何取得perl带tab字符串中的每个单词...
怎样让div的滚动条禁用(拖动后 禁用滚动条...
未能在设计视图中打开。在<%..."值"...%块中,...
求一sql语句
我的论坛中如何设置发贴间隔为20秒?
vb.net的friend
¦m¦ 请教session会在_blank的弹...
哭求关于网站主页指向设定的问题!(iis配置)
asp.ne实现bt 下载
征集新公司名字!!
求解决思路:关于access中的记录导出成一个文件(...
英特尔技术何时进入嵌入式系统领域?
大家帮我看一下留言板的一部分代码
[求救]-----图片合并处理
just-in-time侦错~
请问哪位有读取shapefile文件的程序源代码,能发...
新年好
好消息hp公司加入netbeans社区!
今天去面试.
刚接触webservice,有问题特来请教前辈(关于发布...
哪一位大哥能帮我写一个简单的javascript脚本
sqlserver2005和oracle还有很大的差距吗?
jsp页面的奇观现象
如何将一个数组转成table
c++中日期格式的转换问题
调用java脚本,结果页面无限刷新!!
很基础的问题
招聘开发工程师
紧急!连接问题! 在线等!!!
字符分割
eclipes部署出现地问题,求助!
大家谁知道,如何在外国的的网站上如何卖咱们自己...
div里层与外层div的空隙问题!!!
完成端口中存在大bug
vb从excel中提取数据
急求mm.mysql.jdbc-1.2c.tar.gz文件下载,谢谢各...
谁能给我一个应用程序 访问 数据库&nb...
冥思苦想,如何预览truetype字体?