问题:
10.5
10.2
#include
using namespace std;
union IpAddress
{
unsigned long int ip_int;
struct {
unsigned char ip4, ip3, ip2, ip1;
}ip_string;
};
int main() {
IpAddress ip;
ip.ip_string.ip1 = 192;
ip.ip_string.ip2 = 168;
ip.ip_string.ip3 = 1;
ip.ip_string.ip4 = 6;
cout << "ip地址:"
<< (int)ip.ip_string.ip1 << "."
<< (int)ip.ip_string.ip2 << "."
<< (int)ip.ip_string.ip3 << "."
<< (int)ip.ip_string.ip4 << endl;
IpAddress mask;
mask.ip_string.ip1 = 255;
mask.ip_string.ip2 = 255;
mask.ip_string.ip3 =255;
mask.ip_string.ip4 =0;
cout << "子网掩码:"
<< (int)mask.ip_string.ip1 << "."
<< (int)mask.ip_string.ip2 << "."
<< (int)mask.ip_string.ip3 << "."
<< (int)mask.ip_string.ip4 << endl;
IpAddress net,host;
net.ip_int = (ip.ip_int) & (mask.ip_int);
host.ip_int = ((mask.ip_int) ^ (-1) & (ip.ip_int));
cout << "网络地址:"
<< (int)net.ip_string.ip1 << "."
<< (int)net.ip_string.ip2 << "."
<< (int)net.ip_string.ip3 << "."
<< (int)net.ip_string.ip4 << endl;
cout << "主机地址:"
<< (int)host.ip_string.ip1 << "."
<< (int)host.ip_string.ip2 << "."
<< (int)host.ip_string.ip3 << "."
<< (int)host.ip_string.ip4 << endl;
system("pause");
}