精华内容
下载资源
问答
  • 有的时候,比如为了换算子网掩码,我们需要将IP地址还原成二进制串的形式,如:11000000101010000000110000100001。今天小编看到一个例子就是来完成这个操作的。 代码如下: 代码如下: $ipV4 = ‘192.168.12.33’ -...
  • #include <stdio.h>void binary(int d);void main(){ int d1,d2,...input decimal ip address:\n"); scanf("%d.%d.%d.%d",&d1,&d2,&d3,&d4); prin...

    #include <stdio.h>

    void binary(int d);

    void main()
    {
        int d1,d2,d3,d4;
        d1=d2=d3=d4=0;
        printf("input decimal ip address:\n");
        scanf("%d.%d.%d.%d",&d1,&d2,&d3,&d4);
        printf("%3d.%3d.%3d.%3d\n",d1,d2,d3,d4);
        printf("binary ip address:\n");
        binary(d1);
        binary(d2);
        binary(d3);
        binary(d4);
       }


    void binary(int d){
        int i=0,j,n,b[9]={0};
        while(d>0){
            n=d%2;
            d=d/2;
            b[i++]=n;
        }
       for(j=7;j>=0;j--)
        printf("%d",b[j]);
           printf(" ");
     }
    展开全文
  • ~此功能使用java工具... ~然后将IP地址转换为二进制,可以作为ip的四部分访问作为输出。 ~除了 IP 以十进制和二进制显示,但请注意,使用 'disp' 函数显示的二进制输出是字符串形式。 如果不需要,您可以将其删除。
  • IP地址转换为二进制表示

    千次阅读 2017-03-06 15:51:46
    string convert(char* cur, int size) { char byte[10] = {0}; memcpy(byte, cur - size, size); unsigned int value = atoi(byte); char final_value[9] = {0}; for (int i = 0; i ; i++) {
    string convert(char* cur, int size) {
        char byte[10] = {0};
        memcpy(byte, cur - size, size);
        unsigned int value = atoi(byte);
        char final_value[9] = {0};
        for (int i = 0; i < 8; i++) {
            final_value[8 - i -1] =  '0' + value % 2 - 0;
            value = value / 2;
        }
    
        string ret = final_value;
        return ret;
    }
    
    string atob(char* p) {
        string ret = "";
    
        if (NULL == p) return "";
    
        int length = 0;
    
        while ('\0' != *p) {
            if ('.' == *p) {
                ret += convert(p, length);
                length = 0;
            } else {
                length++;
            }
    
            p++;
        }
    
        ret += convert(p, length);
    
        return ret;
    }
    
    void main()
    {
      string final_bin = atob("192.168.6.16");
    }

    展开全文
  • 手动输入十进制ip地址 ipput:255.255.255.255 output:

     

    手动输入十进制ip地址-->

    ipput:255.255.255.255

    output:11111111.11111111.11111111.11111111

    input:0.0.0.0

    output:00000000.00000000.00000000.00000000

     

    说说实现过程吧,其实核心是简单的将十进制转换为二进制,也是利用桟,先进后出,然后保存二进制数字。

    注意:1.输入输出均为字符串。

                2.输入部分加入了对ip地址合法性的检验,首先保证输入进的ip地址是正确的;

     

    //将十进制ip地址转换为二进制ip地址
    #include<iostream>
    #define max 100
    
    using namespace std;
    
    bool ip=true;
    
    struct stack
    {
    	int Top;
    	int MaxSize;
    	int *element;
    };
    
    typedef struct stack Stack;
    
    void Init(Stack *S,int n)//初始化桟
    {
    	if(n>0)
    	{
    		S->Top=-1;
    		S->MaxSize=n;
    		S->element=new int [S->MaxSize];
    	}
    }
    
    bool IsFull(Stack *S)//判断桟是否为满
    {
    	return (S->Top==S->MaxSize-1);
    }
    
    bool IsEmpty(Stack *S)//判断桟是否为空
    {
    	return (S->Top==-1);
    }
    
    void push(Stack *S,int n)//入栈
    {
    	if(!IsFull(S))
    		S->element[++S->Top]=n;
    	else
    	{
    		cout<<"桟满";
    	}
    }
    
    int pop(Stack *S)//出桟
    {
    	if(!IsEmpty(S))
    		return S->element[S->Top--];
    	else
    	{
    		cout<<"桟空";
    		return -1;
    	}
    }
    
    void change(Stack *S,char ip_add[],char ip_Add[])
    {
    	int i=0,j=0,n=-1,k=0;
    	int count=0;
    	while(*(ip_add+i)!='\0')
    	{
    		while(*(ip_add+i)>='0'&&*(ip_add+i)<='9')
    		{
    			count=count*10 + *(ip_add+i) - '0';//输入为字符串,数字为ASCII码,转换为int 
    			i++;
    		}
    		while(count>0)//将 '.'前面的字符串转化为二进制,入栈
    		{
    		    j=count%2;
    	        push(S,j);  
                count/=2;
    			k++;
    		}
    		while(k<8)//在二进制数字后面补齐缺少的 ‘0’ 的个数
    		{
    			for(int i=0;i<8-k;k++)
    				push(S,0);
    		}
    		while(!IsEmpty(S))//将 '.'前面的二进制int出栈
    	    {
    		     int s;
    		     s=pop(S);
    		     ip_Add[++n]=s + '0';
            }
    		if(*(ip_add+i)=='.')
    		{
    			ip_Add[++n]='.';
                i++;
    			k=0;
    		}
    		else
    		{
    			break;
    		}
    	}	
    	ip_Add[n+1]='\0';
    }
    
    void input_ip_add(Stack *S,char ip_add[])
    {
    	cout<<"请输入ip地址:";
        char ch;
    	int i=0;
    	int count=0;
    	while((ch = getchar())!='\n')
    	{
    		if(ch!='.')
    		{
    			count=count*10 + ch - '0';
    			if(count>255)
    			{
    				ip=false;
    			}
    			ip_add[i++]=ch;
    		}
    		else
    		{
    			ip_add[i++]=ch;
    			count=0;
    		}
    	}
    	ip_add[i]='\0';
    }
    
    int main()
    {
    	Stack *S=new Stack;
    	Init(S,max);
    
    	char ip_add[20];
    	char ip_Add[40];
    
    	input_ip_add(S,ip_add);
    
    	if(ip)
    	{
           cout<<"原始ip:"<<endl;
    	   cout<<ip_add;
    	   cout<<endl;
    	}
    	else
    	{
    		cout<<"非法IP!"<<endl;
    	}
    
    	change(S,ip_add,ip_Add);
    
    	if(ip)
    	{
    	  cout<<"转换为二进制:"<<endl;
    	  cout<<ip_Add;
    	  cout<<endl;
    	}
    
    	system("pause");
    	return 0;
    }


     

     

    展开全文
  • 课程题目,将任意的IP地址转化为二进制数,还可以判断地址是否合法。
  • IP地址二进制转换

    千次阅读 2020-07-13 13:48:48
    以192为例 以192.168.100.7为例 192的二进制为11000000 168的二进制为10101000 100的二进制为01100100 7的二进制为00000111 192.168.100.7的二进制为11000000 10101000 01100100 00000111

    以192为例
    在这里插入图片描述
    以192.168.100.7为例
    192的二进制为11000000
    168的二进制为10101000
    100的二进制为01100100
    7的二进制为00000111
    192.168.100.7的二进制为11000000 10101000 01100100 00000111

    展开全文
  • ### ---xxx--- 表示该步骤得出的结果IP = '192.168.96.94' list1 = IP.split('.') list2 = [] for item in list1: item = bin(int(item)) ---0b11000000 0b10101000 0b1100000 0b... # 去掉每段二进制前的...
  • IP地址二进制转换

    千次阅读 2021-01-14 19:54:22
    学习笔记2021.1.13 子网掩码 子网掩码是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。它的作用是将IP地址分为网络地址和主机地址两部分...IP地址192.168.0.1/24的二进制为
  • IP地址转换为16进制输出

    千次阅读 2017-06-20 15:51:23
    ip转换 16 进制
  • 今天有个朋友问了个问题,看到IP地址二进制,顺便复习了一下,没想到发现了诀窍 首先要搞清楚IP地址的区间是0到255,共分为a,b,c,d,e五个区间, A 0-127 B 128-191 C 192-223 D 224-239 E 240-255 IP最大的...
  • IP转换二进制

    千次阅读 2018-12-19 10:40:47
    8位二进制每位从左到右对应的权值分别是 128、64、32、16、8、4、2、1,即2^(n-1),n位数。 1 1 1 1 1 1 1 1 128 64 32 16 8 4 2 1 2^(8-1) 2^(7-1) 2^(6-1) 2^(5-1) 2^...
  • IP地址二进制之间的转换

    千次阅读 多人点赞 2018-03-22 06:45:54
    IP地址二进制之间的转换 在讨论如何进行IP地址二进制之间的转换前, 有必要解释一下IP地址二进制的概念 ...IP地址是一组能够识别主机和所在网络的编号, 由32位二进制数组成(等于4字节),便...
  • #!/usr/bin/env python3 # -*- coding: UTF-8 -*- def iTob(ip): ... list_ip = ip.split('.') ... bin_ip = [] ... # 将十进制转为二进制并去除'0b'标识符 temp_ip = bin(int(i)).lstrip('0b...
  • IP十进制点分转换为二进制
  • 将十进制ip转换为二进制显示

    千次阅读 2018-03-05 19:48:38
    将十进制ip转换为二进制显示。如输入128.1.2.128,转换为10000000.00000001.00000010.10000000#include &...//将IP地址转化为二进制 void bin(int s){ int c[8]={0}; int i=7,tmp,j; while(s!=0){ tm...
  • 通过awk查询本机IP并转换成二进制以及交互式转换二进制通过awk自动...本机IP地址转换成二进制格式:11000000.10101000.10000011.00001001 [root@localhost /]# vim ip.sh sum=$w for e in {128,64,32,16,8,4,2,1}
  • 一个非常简单的ip地址十进制转换二进制的实现,输入格式: 123.45.67.8[回车] 输出格式: 01111011:00101101:01000011:00001000 循环输入,循环输出,Ctrl+D结束。
  • Java –将IP地址转换为进制

    千次阅读 2020-05-25 02:02:04
    在本教程中,我们向您展示如何将IP地址转换为Java中的十进制等效值,反之亦然。 举些例子 : 255.255.255.255 <-> 4294967295 192.168.1.2 <-> 3232235778 1. IP地址到十进制 我们向您展示了两种...
  • github链接地址: https://github.com/babyshen/Python/blob/master/ip_conversion.py 本文转自 baby神 51CTO博客,原文链接:http://blog.51cto.com/babyshen/1875142,如需转载请自行联系原作者
  • 本文介绍在java中IP地址转换进制数及把10进制再转换成IP地址的方法及实例参考,晒出来和大家分享一下
  • //定义一个方法将IP地址转换成十进制数字def ip2Long(ip: String): Long = { val fragments = ip.split("[.]") var ipNum = 0L for (i &lt;- 0 until fragments.length){ ipNum = fragments(i).to...
  • IP地址转换为二进制

    千次阅读 2007-09-13 14:43:00
    SET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOcreate function dbo.changeIPtoBin( @startip nvarchar(30))returns varchar(32) as begin declare @IP1 int declare @IP2 int declare @IP3...
  • ip地址转换为进制数字

    千次阅读 2019-01-05 15:27:04
    把这四个数字分别转换为十六进制: db ef 6e 8a 把dbef6e8a转换为进制 3689901706 原ip 192.168.158.1 转换为十六进制: c0 a8 9e 01 注意这里是01。规则所限,ip的每一段必须转为两位的十六进制数,所以原本的...
  • 什么IP地址,什么子网掩码,什么网路地址,什么广播地址都会用到二进制和十进制的相互转化,而且最常用的是8位二进制数一组的转化,这就来总结相互转化最快的方法。  首先来认识标准分类的IP地址:  IP地址是由...
  • 练习: 1.将ip中的数字转为二进制 后形成新的二进制...ip地址中都是点分八进制 ==>应该将每个二进制数省略不写的前缀0位补全到八位 ip = "192.168.12.79" ip_list = ip.split(".") for i in range(len(ip_list)...
  • IP地址与十进制,互相转换js函数,直接可以使用
  • php不使用进制转换内置函数实现十进制ip地址转换为二进制 public function Ip() { $ip='192.168.1.1'; $result=$this->binIp($ip); echo $result; } public function binIp($ip) { //字符串分割 数组...
  • 地址范围从1.0.0.1到127.255.255.254 (二进制表示:00000001 00000000 00000000 00000001 - 01111111 11111111 11111111 11111110)。最后一个是广播地址。 ​ B类IP地址B类IP地址就由2字节的网络地址和2...
  • ip地址转换为二进制序列

    千次阅读 2013-11-30 17:24:25
    #include #include #include #include using namespace std; const int SZ = 20; ...char ip[SZ];...deque ip_bin_seq;...void ChangeIp2Bin() { ip_bin_seq.clear();... int ip_len = strlen(ip); int

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,779
精华内容 43,111
关键字:

ip地址转换为二进制