编写一个C语言函数用于设置一个位数组中的某个指定位,将这些位打包到一个字节数数组中,其中每个字节含8位.该函数必须精确地带有两个参数:第一个是直接数组的名称,第二个事要设置的
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/20 14:08:16
![编写一个C语言函数用于设置一个位数组中的某个指定位,将这些位打包到一个字节数数组中,其中每个字节含8位.该函数必须精确地带有两个参数:第一个是直接数组的名称,第二个事要设置的](/uploads/image/z/5274263-47-3.jpg?t=%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AAC%E8%AF%AD%E8%A8%80%E5%87%BD%E6%95%B0%E7%94%A8%E4%BA%8E%E8%AE%BE%E7%BD%AE%E4%B8%80%E4%B8%AA%E4%BD%8D%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%90%E4%B8%AA%E6%8C%87%E5%AE%9A%E4%BD%8D%2C%E5%B0%86%E8%BF%99%E4%BA%9B%E4%BD%8D%E6%89%93%E5%8C%85%E5%88%B0%E4%B8%80%E4%B8%AA%E5%AD%97%E8%8A%82%E6%95%B0%E6%95%B0%E7%BB%84%E4%B8%AD%2C%E5%85%B6%E4%B8%AD%E6%AF%8F%E4%B8%AA%E5%AD%97%E8%8A%82%E5%90%AB8%E4%BD%8D.%E8%AF%A5%E5%87%BD%E6%95%B0%E5%BF%85%E9%A1%BB%E7%B2%BE%E7%A1%AE%E5%9C%B0%E5%B8%A6%E6%9C%89%E4%B8%A4%E4%B8%AA%E5%8F%82%E6%95%B0%EF%BC%9A%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%E7%9B%B4%E6%8E%A5%E6%95%B0%E7%BB%84%E7%9A%84%E5%90%8D%E7%A7%B0%2C%E7%AC%AC%E4%BA%8C%E4%B8%AA%E4%BA%8B%E8%A6%81%E8%AE%BE%E7%BD%AE%E7%9A%84)
编写一个C语言函数用于设置一个位数组中的某个指定位,将这些位打包到一个字节数数组中,其中每个字节含8位.该函数必须精确地带有两个参数:第一个是直接数组的名称,第二个事要设置的
编写一个C语言函数
用于设置一个位数组中的某个指定位,将这些位打包到一个字节数数组中,其中每个字节含8位.该函数必须精确地带有两个参数:第一个是直接数组的名称,第二个事要设置的位的下标(从0开始).函数原形如下:
void setbit()BYTE8 bits[ ],int index;
函数原形如下:
void setbit(BYTE8 bits[ ],int index);
编写一个C语言函数用于设置一个位数组中的某个指定位,将这些位打包到一个字节数数组中,其中每个字节含8位.该函数必须精确地带有两个参数:第一个是直接数组的名称,第二个事要设置的
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;
}