打印

请问,51语法有没有位数组?谢谢!

[复制链接]
3020|9
手机看帖
扫描二维码
随时随地手机跟帖
沙发
again_gyf| | 2008-7-15 21:05 | 只看该作者

要实现啥?

联合体结构体

使用特权

评论回复
板凳
5880527| | 2008-7-15 21:26 | 只看该作者

用汇编就比较容易实现

51不能位间接寻址有点头痛

使用特权

评论回复
地板
dai_weis| | 2008-7-15 21:58 | 只看该作者

没有位数组,只能用LS的方法

使用特权

评论回复
5
huangqi412| | 2008-7-15 22:07 | 只看该作者

不知道lz要干什么,为什么搞什么位数组

估计是想实现一大串的flag.  估计你最多也就16个标志位吧
那就用一个uint好了. 
uint flag_16;
从位0开始分别宏定义.
#define ok 0  //.ok标准定义在uint的第0位
~~~~~~~~~
~~~~~~~~~

置标志 flag_16|=(1<<ok);
清标志 .....
查看标志.....
取反标志......

你要实现的应该实现了。
假如你把他当一个位数组flag_16[16],大小是16. 假如要把这个数组位0变成1 
flag_16|=(1<<ok); 相当于flag_16[0]=1;其他类推

使用特权

评论回复
6
xwj| | 2008-7-15 22:30 | 只看该作者

编译器没有,但自己实现类似功能很简单

但速度不会快

使用特权

评论回复
7
acmilann| | 2008-7-16 00:03 | 只看该作者

编译器明确规定没有位数组

但可以通过联合体实现类似的功能

使用特权

评论回复
8
李冬发| | 2008-7-16 11:01 | 只看该作者

通过联合体实现位数组功能,不可能划算的

使用特权

评论回复
9
net_walker| | 2008-7-16 12:56 | 只看该作者

re

把数组定义到bit区,可以对每一位进行操作,也可byte读写。

使用特权

评论回复
10
jack.king| | 2008-7-16 13:01 | 只看该作者

好象不可以了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

11

帖子

0

粉丝