日期:2014-05-18 浏览次数:21300 次
    char[] add1 = new char[] { (char)0, (char)0, (char)0, (char)255 };
    char[] add2 = new char[] { (char)0, (char)0, (char)0, (char)1 };
    char[] result = new char[] { (char)0, (char)0, (char)0, (char)0 };
    int 进位 = 0;
    for (int i = 3; i >= 0; i--)
    {
        进位 = (add1[i] + add2[i] + 进位);
        result[i] = (char)(进位&0xff);
        进位 = 进位 >> 8;
    }
    //輸出:
    StringBuilder sb = new StringBuilder();
    for (int i = 3; i >= 0; i--)
    {
        sb.AppendLine(((int)result[i]).ToString());
    }
    MessageBox.Show(sb.ToString(),"输出");
------解决方案--------------------
加法没有进制问题,进制只是显示的格式而已,如果你有一个二进制字符串表示的整数,要实现加法,最好先把二进制字符串转化了整数,然后加法,然后再用String.Format格式化为二进制或者十进制或者十六进制,
进制只是显示格式,不应当用字符串直接实现加法,那样效率非常低,而且也麻烦,没必要这么做,