十进制IP地址换成2进制?

发布网友 发布时间:2022-04-21 23:50

我来回答

3个回答

热心网友 时间:2023-07-02 03:20

分别对每组十进制数进行二进制转换即可。

点分十进制只是ip地址的一种表示方式,其中的点并非小数点,点只是用来分隔每一组数字的。所以只需要把每一组数字进行二进制转换即可。由于ipv4中的ip地址由四个字节来表示,每个字节由一个点隔开,所以相对应的每一组二进制数有8位。

例如192.168.110.1转换成二进制,就是将192,168,110,1分别转换成二进制即可,对应的二进制ip地址为11000000 10101000 01101110 00000001。

扩展资料

十进制整数转换为二进制整数采用"除2取余"法。

用十进制整数除以2,可以得到一个商和余数;再用商除以2,又会得到一个商和余数,如此进行,直到商为零时为止。然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

参考资料来源:百度百科-点分十进制

热心网友 时间:2023-07-02 03:20

四段,每段0到255,8位二进制,0就是00000000,255就是11111111。

8位二进制最高位128,接着是,接着32,接着是16,一直到最后一位是2的0次方,也就是1。

0到255的任意一个数要化成8位二进制,只要找出最大的包含的位,这个位上置1,减去这个位后的数再同理找最大包含的位。

比如100,它包含的最大位是,那么128位置0,位置1,减去后剩下36,36包含32,所以32的位置1,剩下4,所以16和8的位置0,4包含4,所以4的位置1,剩下已经是0了,2和1的位置0。

所以结果就是01100100

这种方法对IP地址的转换速度提高很大,前提是8个2的幂次方位你要熟练,当然有些小技巧是要自己总结的,比如某位的后面全是1,前面全是0,那么这个数就是这个位的值减去1。再比如有7位都是1,只有1位上是0,那么这个数就是255减去0位的值,等等等等小技巧是在熟练的前提下。

常规的十进制转二进制是除二取余数,这个百度一下就很多。

热心网友 时间:2023-07-02 03:20

要求的程序如下:

#include <stdio.h>

void ff(int n,int k)

{int i;

 if(k>1)ff(n>>1,k-1);

 printf("%d",n%2);

 if(k==8)printf(" ");

}

int main()

{int a,b,c,d;

 scanf("%d.%d.%d.%d",&a,&b,&c,&d);

 ff(a,8); ff(b,8); ff(c,8); ff(d,8);

 printf("\n");

 return 0;

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com