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