二进制加法如何实现 我知道一种办法是:二进制——>十进制——>加法——>结果转换为二进制,有没有高手知道其他的办法?我的目的,IP地址[color=#FF0000,0.0.0.255[/color],加一为0.0.1.0。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有幸回答这个问题: 以下只是个人写法,不对请说出来。谢谢。 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格式化为二进制或者十进制或者十六进制,进制只是显示格式,不应当用字符串直接实现加法,那样效率非常低,而且也麻烦,没必要这么做, 说的很对,没必要直接进行二进制、八进制或十六进制之间的加减法,通过函数convert.ToInt32(value,frombase)将进制转换为十进制,运算之后,再用函数conver.Tostring(intvaluse,tobase)转换为相应的进制即可。 c#判断奇偶数,按照方法求出奇偶个数 跪求高手解答 請大神指教一二3..一個datatable一共有n行,分成若干次放數據表,每次放進去50筆. C#怎么用C++的句柄 怎么用代码实现在本机器上开启Guest帐户并添加一个供其他机器访问的Guest帐户啊?? 在C#中如何应用全局钩子? 书上代码没看懂,望高手解答? (急)Datagridview怎样绑定一个数据库中的多个表,在默认窗体中显示每个表的部分内容 这就是传说中的内存泄露吗? C#中如何把自定义的结构转换成byte[]? .Net内存释放问题 C#如何实现视频监控分屏
以下只是个人写法,不对请说出来。谢谢。
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(),"输出");
通过函数convert.ToInt32(value,frombase)将进制转换为十进制,
运算之后,
再用函数conver.Tostring(intvaluse,tobase)转换为相应的进制即可。