两个整数相与的程序

qiangweilei 2009-04-05 01:38:42
例如有 两个数 s1=10011
s2=10010
让两个数每一位相与 得到结果 10010
谁能发个 程序
...全文
394 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fairchild811 2009-04-05
  • 打赏
  • 举报
回复
用字符数组处理吧
amossavez 2009-04-05
  • 打赏
  • 举报
回复
同一天之内看到问相同的问题!!
wanjingwei 2009-04-05
  • 打赏
  • 举报
回复
2楼方法很好
WOBUGUAN 2009-04-05
  • 打赏
  • 举报
回复
不好意思,没看到那个是bitset
douchog_13k 2009-04-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 WOBUGUAN 的回复:]
楼上各位,直接写10011恐怕会被当成十进制数来处理
[/Quote]
bitset直接对位处理,你可以debug一下看看内存状态....
WOBUGUAN 2009-04-05
  • 打赏
  • 举报
回复
楼上各位,直接写10011恐怕会被当成十进制数来处理
douchog_13k 2009-04-05
  • 打赏
  • 举报
回复


#include "stdafx.h"
#include <iostream>
#include <bitset>
using namespace std;
int main(int argc, char* argv[])
{
bitset<5> t[2];
t[0]=10011;
t[1]=10010;
cout<<t[0]<<endl;
cout<<t[1]<<endl;
t[0]&=t[1];
cout<<t[0]<<endl;
return 0;
}
newborn2012 2009-04-05
  • 打赏
  • 举报
回复

#include <stdio.h>

void main()
{
#define N 50
char a[N] = {0};
char b[N] = {0};
char r[N] = {0};
int ia = 101010;
int ib = 111100;

sprintf(a, "%d", ia);
sprintf(b, "%d", ib);

for(int i = 0; i < N; ++i)
{
if(a[i] == 0 && b[i] == 0)
{
break;
}

if(a[i] == '0' || b[i] == '0' ||
a[i] == 0 || b[i] == 0)
{
r[i] = '0';
}
else
{
r[i] = '1';
}
}

printf("r=%s\n", r);
}
mengde007 2009-04-05
  • 打赏
  • 举报
回复


#include <iostream>
using namespace std;
int main()
{
char *s1="10011";
char *s2="10010";
long a,b;
a=atol(s1);
b=atol(s2);
cout<<(a&b)<<endl;
return 0;

}
morris88 2009-04-05
  • 打赏
  • 举报
回复

s1 & s2;

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧