编写一个C语言函数

用于设置一个位数组中的某个指定位,将这些位打包到一个字节数数组中,其中每个字节含8位。该函数必须精确地带有两个参数:第一个是直接数组的名称,第二个事要设置的位的下标(从0... 用于设置一个位数组中的某个指定位,将这些位打包到一个字节数数组中,其中每个字节含8位。该函数必须精确地带有两个参数:第一个是直接数组的名称,第二个事要设置的位的下标(从0开始)。函数原形如下:
void setbit()BYTE8 bits[ ],int index;
函数原形如下:
void setbit(BYTE8 bits[ ],int index);
展开
 我来答
陈宗权8d804
2011-01-11 · TA获得超过3766个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:946万
展开全部
typedef unsigned char BYTE8;
void setbit(BYTE8 bits[], int index)
{
int a = index>>3;/*计算字节数*/
int b = index&7;/*计算字节内的位数*/
BYTE8 mask=0x80;/*第一位是1的掩码*/
bits[a] |= (mask>>b);
}

PS:顺便写个取得某一个位是0还是1的函数。
int getbit(BYTE8 bits[], int index)
{
int a = index>>3;/*计算字节数*/
int b = index&7;/*计算字节内的位数*/
BYTE8 mask=0x80;/*第一位是1的掩码*/
return (bits[a] & (mask>>b))!=0;
}
hbuxiaoshe
2011-01-11 · 超过26用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:56.5万
展开全部
ls很强悍
lz你的函数声明标准是K&R C吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
prowllw
2011-01-11 · TA获得超过176个赞
知道答主
回答量:83
采纳率:0%
帮助的人:29.7万
展开全部
我曹,大神?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式