C51没有bit型的数组,如果我想定义一个含有17个变量(取值为0,1)的一维数组,unsigned char 浪费,咋
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 07:03:37
C51没有bit型的数组,如果我想定义一个含有17个变量(取值为0,1)的一维数组,unsigned char 浪费,咋办?
好像有人说可以用结构体来搞,该怎么搞,小弟是菜鸟,
好像有人说可以用结构体来搞,该怎么搞,小弟是菜鸟,
要想节省单元,只好浪费一点计算时间.
1个unsigned char 用于8个变量.17个变量要
开3 个单元 unsigned char,(或开一个unsigned long),
自己用 位运算,左移右移,赋值和取值.
再问: 首先谢谢您啊,不好意思啊,用15个变量就可以了,我是针对单片机编程的,扫描15个按键,每个变量代表一个标志位可取0,1,采用位运算的话有些很长,能不能用数组方法来搞定它,像定义一个bit key_flag[15] 数组,比如对应的数字按键1按下,key_flag[0]=1, 按键1按下key_flag[1]=1,,,,,,,按键i 按下key_flag[i-1]=1,这样我好处理一些,,给怎么定义一些好呢
再答: 15个变量 用2个 unsigned char ,用位运算,左移右移,赋值和取值。 ---- C++ 结构 bit 定义例子: struct Date { unsigned nWeekDay : 3; // 0..7 (3 bits) unsigned nMonthDay : 6; // 0..31 (6 bits) unsigned nMonth : 5; // 0..12 (5 bits) unsigned nYear : 8; // 0..100 (8 bits) }; 冒号后面是几个 bits。 你用1bit,和15个成员变量。 但C51是否支持我不知道。
1个unsigned char 用于8个变量.17个变量要
开3 个单元 unsigned char,(或开一个unsigned long),
自己用 位运算,左移右移,赋值和取值.
再问: 首先谢谢您啊,不好意思啊,用15个变量就可以了,我是针对单片机编程的,扫描15个按键,每个变量代表一个标志位可取0,1,采用位运算的话有些很长,能不能用数组方法来搞定它,像定义一个bit key_flag[15] 数组,比如对应的数字按键1按下,key_flag[0]=1, 按键1按下key_flag[1]=1,,,,,,,按键i 按下key_flag[i-1]=1,这样我好处理一些,,给怎么定义一些好呢
再答: 15个变量 用2个 unsigned char ,用位运算,左移右移,赋值和取值。 ---- C++ 结构 bit 定义例子: struct Date { unsigned nWeekDay : 3; // 0..7 (3 bits) unsigned nMonthDay : 6; // 0..31 (6 bits) unsigned nMonth : 5; // 0..12 (5 bits) unsigned nYear : 8; // 0..100 (8 bits) }; 冒号后面是几个 bits。 你用1bit,和15个成员变量。 但C51是否支持我不知道。
C51没有bit型的数组,如果我想定义一个含有17个变量(取值为0,1)的一维数组,unsigned char 浪费,咋
keil中用 bit定义一个变量,如 bit t;则t的初值为多少; 还有unsigned char i;则 i 的初值
VB程序题目定义下列变量(1)定义一整数型变量 (2)定义一由10个长整数型构成的一维数组变量(3)定义一单精度实数型变
matlab定义数组我想定义一个特殊数组,由0,1组成,和为20.怎么定义?因为时间紧没有说清楚,是这个数组有30个元素
定义一个有4个元素的数组,并将0、1、2、3、4赋值给数组,扩充数组为6个元素
定义一个含有10个元素的一维数组. 要求:1)用for循环给个元素输入整数. 2)求出该数组中存放的最小整数
(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.
定义一个函数,函数的参数为一维数组(用指针表示)函数返回数组元素平均值
以下能正确定义一维数组的选项是 ( ) A.int a[5]={0,1,2,3,4,5}; B.char a[]={0,
6.以下能正确定义一维数组的选项是( ) a.int a[5]={1,2,3,4,5}; b.char a[]={0,1
在80C51程序中定义了bit变量 bit falg=0;请问怎么改变flag的值?
c语言数组的范围问题:比如定义数组为 char i[4]; 那么它的范围到底是从0开始还是从1开始?