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

[复制链接]
4123|9
 楼主| tinytony 发表于 2008-7-15 18:29 | 显示全部楼层 |阅读模式
请问,51语法有没有位数组?谢谢!
again_gyf 发表于 2008-7-15 21:05 | 显示全部楼层

要实现啥?

联合体结构体
5880527 发表于 2008-7-15 21:26 | 显示全部楼层

用汇编就比较容易实现

51不能位间接寻址有点头痛
dai_weis 发表于 2008-7-15 21:58 | 显示全部楼层

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

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;其他类推
xwj 发表于 2008-7-15 22:30 | 显示全部楼层

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

但速度不会快

acmilann 发表于 2008-7-16 00:03 | 显示全部楼层

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

但可以通过联合体实现类似的功能
李冬发 发表于 2008-7-16 11:01 | 显示全部楼层

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

net_walker 发表于 2008-7-16 12:56 | 显示全部楼层

re

把数组定义到bit区,可以对每一位进行操作,也可byte读写。
jack.king 发表于 2008-7-16 13:01 | 显示全部楼层

好象不可以了!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部