m0_60594946
2021-09-30 19:11
采纳率: 66.7%
浏览 27

A 一个简单的位运算,紧急,求援

题目描述
有一只蒟蒻在进行位运算,对于两个二进制数x,y,它想要知道x⨁y , x∣y , x&y 分别是多少。

注意:本题以及下一题中的 ⨁ 均表示位运算中的异或运算。

输入格式
三行,第一行一个整数n,表示二进制数的位数。

第二行和第三行每行n个用空格隔开的数(0 或 1),表示两个二进制数 x,y 的每一位(从高位到低位)。

输出格式
三行,每行一个n位二进制数,分别表示x⨁y , x∣y , x&y 。

样例输入
3
0 0 1
1 1 1
样例输出
110
111
001
数据范围
n≤100

  • 好问题 提建议
  • 收藏

1条回答 默认 最新

  • 快乐鹦鹉 2021-09-30 20:19
    已采纳
    #include <stdio.h>
    void Ten2Two(int a)
    {
       if(a>=2)
            Ten2Two(a/2);
        printf("%d",a%2);
    }
    int main()
    {
          int n,i,a=0,b=0,c,x,y,z;
          scanf("%d",&n);
          for(i=0;i<n;i++)
          {
              scanf("%d",&c);
              a = a*2+c;
         }
        for(i=0;i<n;i++)
        {
              scanf("%d",&c);
              b = b*2+c;
        }
        x = a^b;
        y = a|b;
        z = a&b;
        Ten2Two(x);
        printf("\n");
        Ten2Two(y);
        printf("\n");
        Ten2Two(z);
         printf("\n");
        return 0;
    }
     
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题