如题,我要实现 假设一个随即长度的二进制数  “111001011”用循环判断 改成“000110100”该如何实现呢,到底有没有可能实现呢?

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/system.collections.bitarray.aspx
      

  2.   

    字符串的话,
    string s = "111001011";
    s = new string(s.Select(x => x == '0' : 1 : 0).ToArray());
      

  3.   

    多看书 , 先把 | ^ % || && 看懂了再说
      

  4.   

    这个是那个帖子
    http://topic.csdn.net/u/20120619/22/a828f857-3917-452c-a71c-c084642861ef.html
      

  5.   

    有长度length和数值value就可以直接算了:2 ^ length - value如“111001011”长度为9,value是459,结果就是2 ^ 9 - 459 = 512 - 459 = 53 (110101)
      

  6.   

     按位 取反啊,LZ 
    “ ~ ”就是这个符号
       1、运算规则
       ~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,1变0。
       2、用途
        使一个整数a的最低位为0,可以用:a=a&~1;
     3、例如~9的运算为: ~(0000000000001001)结果为:1111111111110110
    你补充一下位运算的知识
    http://www.cnblogs.com/NetBelieve/archive/2012/07/30/2615006.html
      

  7.   

    比如我有个 数组 aastring[] aa = Regex.Split(textBox1.Text.ToString(), " ",RegexOptions.IgnoreCase);
                for (int i = 0; i < aa.Length;i++ )
                {
                      cc ^= Convert.ToByte(aa[i].ToString(), 16);
                }
     // cc 异或累加后 如何把这个 cc 取反呢?怎么写?