我有两个长度为200的由0和1组成的字符串,现在想把他们进行与或运算该怎么处理???

解决方案 »

  1.   

    string strA = string.Empty;
    string strB = string.Empty;
    string strC = string.Empty;
    string strD = string.Empty;
    for (int i = 0; i < 200; i++)
    {
    strA += '1';
    strB += '0';
    }
    for (int i = 0; i < 200; i++)
    {
    strC += Convert.ToChar((Convert.ToByte(strA[i]) & Convert.ToByte(strB[i])));
    strD += Convert.ToChar((Convert.ToByte(strA[i]) | Convert.ToByte(strB[i])));
    }
    System.Console.Write("与操作结果:" + strC);
    System.Console.Write("或操作结果:" + strC);
      

  2.   

    string str1 = "0100100";
                string str2 = "0111100";
                byte[] by1 = new byte[25];
                byte[] by2 = new byte[25];
                for (int i = 0; i < 200; i++)
                {
                    str1 += '1';
                    str2 += '0';
                }
                for (int i = 0; i <25; i++)
                { 
                    by1[i]= Convert.ToByte(str1.Substring(i*8,8),2);
                    by2[i] = Convert.ToByte(str2.Substring(i * 8, 8), 2);
                }
                BitArray ba1 = new BitArray(by1);
                BitArray ba2 = new BitArray(by2);
                ba1 = ba1.Or(ba2);
                string str3="";
               for(int i=0;i<ba1.Length ;i++)
               {
                   if(ba1[i])
                       str3+="1";
                   else
                       str3+="0";           }
    MessageBox.Show(str3 );