IP地址总是由4个0-255的数字以"."隔开的形式来显示给用户,例如192.168.0.1。在计算机中,一个IP地址用4字节来依次存储其从右到左的4个数字部分,每个字节(8比特)以2进制的形式存储相应的IP地址数字,请你实现一个从IP地址的显示格式到计算机存储格式的转换。
输入 每行输入一个IP地址,如果输入为-1,结束输入 输出 每行输出一个IP地址在计算机存储中以二进制表示的4字节内容 样例输入 192.168.0.1 255.255.0.0 1.0.0.1 -1 样例输出 11000000101010000000000000000001 11111111111111110000000000000000 00000001000000000000000000000001 查看 提交 统计 提示 提问 代码: #include<cstdio> using namespace std; int look[] = {128,64,32,16,8,4,2,1}; void output(int num){ for(int i = 0; i < 8; ++i){ if(num >= look[i]){ printf("%d",1); num -= look[i]; }else printf("%d",0); } } int main(){ int a[4]; while(scanf("%d.",&a[0]) && a[0] != -1){ scanf("%d.%d.%d",&a[1],&a[2],&a[3]); for(int i = 0; i < 4; i++) output(a[i]); putchar('\n'); } return 0; }