日期:2014-05-18 浏览次数:21296 次
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格式化为二进制或者十进制或者十六进制,
进制只是显示格式,不应当用字符串直接实现加法,那样效率非常低,而且也麻烦,没必要这么做,