急:请问我要将两个IP地址59.32.0.0 和59.42.255.255作位异或运算,怎么作? 分段做異或,59.32.0.0 和59.42.255.255,分別作 59 XOR 59,32 XOR 42, 0 XOR 255, 0 XOR 255,得到的是位異或后的十進制數字,然後轉化為二進制再拼接起來,數一數第一個1的位置就行了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我其实是要在程序中实现计算子网掩码的功能。输出3dns设备的配置文件。 string ip1 = "59.32.0.0"; string ip2 = "59.42.255.255"; string[] px1 = ip1.Split('.'); string[] px2 = ip2.Split('.'); string strR = ""; for (int i = 0; i < 4; i++) { int n1, n2; n1 = int.Parse(px1[i]); n2 = int.Parse(px2[i]); strR += Convert.ToString(n1 ^ n2) + "."; } MessageBox.Show(strR); 不知道位数是怎么算的……我按每段固定转8位,没用系统自带的运算符,写了一个人工一位一位检查的,返回值从1~32 string A="59.32.0.0"; string B="59.42.255.255"; int P=-1; for(int i=0;i<4;i++) { if(P!=-1) break; string a=A.Split('.')[i].ToString(); string b=B.Split('.')[i].ToString(); a=Convert.ToInt32(Convert.ToString(Convert.ToInt32(a),2)).ToString("00000000"); b=Convert.ToInt32(Convert.ToString(Convert.ToInt32(b),2)).ToString("00000000"); for(int j=0;j<8;j++) { if(Convert.ToInt32(a[j].ToString())+Convert.ToInt32(b[j].ToString())==1 ) { P=i*8+j+1; break; } } } MessageBox.Show("从左边起为1的最高位:"+P.ToString()); 求代码 我邮箱[email protected] 通过iframe中的子页面控制iframe所在页面的按钮颜色 在c#里,如何锁定数据库里的一张表或整个库? 请教下,用C#开发p2p网络视频 如何得到当前对象父类的实例? 如何把EXCEL表指定的一列导入数据库表的某一列?急!!!!!!! 为什么会查找不到相应tabPage?在线等! 怎样把多个文件打成一个包,也可把这个包还原成多个文件 太痛苦了 诉苦来了 被压榨的朋友们 顶下去 关于重载onpaint(有代码) 我用c#和asp.net做了个小的电子商务网站,有个图片大小图显示的问题,请帮忙一下 正则表达式问题,取出QP编码的内容
string ip2 = "59.42.255.255";
string[] px1 = ip1.Split('.');
string[] px2 = ip2.Split('.');
string strR = "";
for (int i = 0; i < 4; i++)
{
int n1, n2;
n1 = int.Parse(px1[i]);
n2 = int.Parse(px2[i]);
strR += Convert.ToString(n1 ^ n2) + ".";
}
MessageBox.Show(strR);
string B="59.42.255.255"; int P=-1; for(int i=0;i<4;i++)
{
if(P!=-1) break; string a=A.Split('.')[i].ToString();
string b=B.Split('.')[i].ToString(); a=Convert.ToInt32(Convert.ToString(Convert.ToInt32(a),2)).ToString("00000000");
b=Convert.ToInt32(Convert.ToString(Convert.ToInt32(b),2)).ToString("00000000"); for(int j=0;j<8;j++)
{
if(Convert.ToInt32(a[j].ToString())+Convert.ToInt32(b[j].ToString())==1 )
{
P=i*8+j+1;
break;
}
}
} MessageBox.Show("从左边起为1的最高位:"+P.ToString());