C语言 字符串 按位与
答案:5 悬赏:20 手机版
解决时间 2021-11-07 17:36
- 提问者网友:情歌越听越心酸
- 2021-11-07 03:58
C语言 字符串 按位与
最佳答案
- 五星知识达人网友:七十二街
- 2021-11-07 05:36
1、按位运算符就是直接对整数在内存中的二进制位进行操作运算。比如,&&运算本来是一个逻辑运算符,但整数与整数之间可以用&
进行运算。举个例子,6的二进制是110,11的二进制是1011,那么6 &
11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理)。
2、C语言提供了六种按位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
3、字符串的按位与运算:
int len=strlen(str1); //假定str1与str2长度相等,若不相同,再根据要求调整代码。
char str[50]="\0";
for(int i=0;i str[i]='0'+((str1[i]-'0')&(str2[i]-'0'))
进行运算。举个例子,6的二进制是110,11的二进制是1011,那么6 &
11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理)。
2、C语言提供了六种按位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
3、字符串的按位与运算:
int len=strlen(str1); //假定str1与str2长度相等,若不相同,再根据要求调整代码。
char str[50]="\0";
for(int i=0;i
全部回答
- 1楼网友:猎心人
- 2021-11-07 08:23
默认你输入的字符串长度相等啊,如果不等,你得用0补齐,怎么补齐很简单,我就说主要的按位与了:
int i=0;
for(i=0; i {
str1[i]=(char)(48+(str1[i]-'0')&(str2[i]-'0')) ; //要转换成字符存储
}
int i=0;
for(i=0; i
str1[i]=(char)(48+(str1[i]-'0')&(str2[i]-'0')) ; //要转换成字符存储
}
- 2楼网友:荒野風
- 2021-11-07 07:40
// 编写的以高位相与的函数:
char *str;void stringv(char *str1,char *str2)
{
int i;
for(i=0;str1[i]!=''&&str[i]!='';i++)
str[i]=(str1[i]-0x30)&(str2[i]-0x30)+0x30;
str[i]='';
}
- 3楼网友:等灯
- 2021-11-07 06:35
int len=strlen(str1); //假定str1与str2长度相等,若不相同,再根据要求调整代码。
char str[50]="\0";
for(int i=0;i str[i]='0'+((str1[i]-'0')&(str2[i]-'0'))
char str[50]="\0";
for(int i=0;i
- 4楼网友:孤独入客枕
- 2021-11-07 06:22
在函数尾部加入
char *p = str1;
char *q = str2;
while (*p && *q)
{
if (*q == '0')
*p = '0';
p++;
q++;
}
printf("%s\n", p);
getchar();
return 0;
char *p = str1;
char *q = str2;
while (*p && *q)
{
if (*q == '0')
*p = '0';
p++;
q++;
}
printf("%s\n", p);
getchar();
return 0;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯