精华内容
下载资源
问答
  • [java]代码库public class IP2Long {// 将127.0.0.1 形式的IP地址转换成10进制整数,这里没有进行任何错误处理public static long ipToLong(String strIP) {long[] ip = new long[4];// 先找到IP地址字符串中.的位置...

    [java]代码库public class IP2Long {

    // 将127.0.0.1 形式的IP地址转换成10进制整数,这里没有进行任何错误处理

    public static long ipToLong(String strIP) {

    long[] ip = new long[4];

    // 先找到IP地址字符串中.的位置

    int position1 = strIP.indexOf(".");

    int position2 = strIP.indexOf(".", position1 + 1);

    int position3 = strIP.indexOf(".", position2 + 1);

    // 将每个.之间的字符串转换成整型

    ip[0] = Long.parseLong(strIP.substring(0, position1));

    ip[1] = Long.parseLong(strIP.substring(position1 + 1, position2));

    ip[2] = Long.parseLong(strIP.substring(position2 + 1, position3));

    ip[3] = Long.parseLong(strIP.substring(position3 + 1));

    return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];

    }

    // 将10进制整数形式转换成127.0.0.1形式的IP地址

    public static String longToIP(long longIP) {

    StringBuffer sb = new StringBuffer("");

    // 直接右移24位

    sb.append(String.valueOf(longIP >>> 24));

    sb.append(".");

    // 将高8位置0,然后右移16位

    sb.append(String.valueOf((longIP & 0x00FFFFFF) >>> 16));

    sb.append(".");

    sb.append(String.valueOf((longIP & 0x0000FFFF) >>> 8));

    sb.append(".");

    sb.append(String.valueOf(longIP & 0x000000FF));

    return sb.toString();

    }

    /**

    * @param args

    */

    public static void main(String[] args) {

    String ipStr = "192.168.0.1";

    long ipLong = IP2Long.ipToLong(ipStr);

    // IP地址转化成二进制形式输出

    System.out.println("192.168.0.1 的二进制形式为: "

    + Long.toBinaryString(ipLong));

    }

    }

    694748ed64b9390909c0d88230893790.png

    展开全文
  • /** Name: IP Address* Funcion: To convert binary numbers to decimal numbers* Input: 00000011100000001111111111111111* Output: 3.128.255.255*/#include void main(){char input[32];int output[4];int count...

    /*

    * Name: IP Address

    * Funcion: To convert binary numbers to decimal numbers

    * Input: 00000011100000001111111111111111

    * Output: 3.128.255.255

    */

    #include

    void main()

    {

    char input[32];

    int output[4];

    int count = -1;

    for(int i = 0; i < 4; i++ )

    output[i] = 0;

    gets( input );

    for( i = 0; i < 32; i++ )

    {

    if( i % 8 == 0 )

    count++;

    if( input[i] == '1' )

    {

    switch( i % 8 )

    {

    case 0:

    output[count] += 128;

    break;

    case 1:

    output[count] += 64;

    break;

    case 2:

    output[count] += 32;

    break;

    case 3:

    output[count] += 16;

    break;

    case 4:

    output[count] += 8;

    break;

    case 5:

    output[count] += 4;

    break;

    case 6:

    output[count] += 2;

    break;

    case 7:

    output[count] += 1;

    break;

    default:

    break;

    }

    }

    }

    printf( "%d.%d.%d.%d\n", output[0], output[1], output[2], output[3] );

    }

    posted on 2007-03-04 10:05 周Q 阅读(3845) 评论(3)  编辑 收藏 引用

    展开全文
  • ip = '172.16.32.1' ip_hex = ''.join('%02X' % int(i) for i in ip.split('.')) print(ip_hex)
    ip = '172.16.32.1'
    ip_hex = ''.join('%02X' % int(i) for i in ip.split('.'))
    print(ip_hex)

    涉及到的技术点:

    1.ip.split('.')  将字符串ip以‘.’为分隔符分割,并将分割结果存储在list中返回;

    2.‘%02X’ % int(i)  将10进制数字转化为16进制字符串,数字大写(X),前面自动补零(02);

    3.str.join(str) 连接字符串为一个新字符串;

    4.‘’.join(i for i in ip.split('.'))  这种语法取list的值,不知道学名叫啥,简单易用;(知道这种语法的来历的欢迎留言哈)

     

    拓展的知识点:

    10进制数字转16进制字符串还可以使用函数hex(),例如hex(int(i))。进一步,如果想去掉前面的0x,可以使用hex(int)[2:],更进一步,如果想转为大写,可以使用hex(int(i)).upper()[2:],更更进一步,如果想在前面自动补零,可以使用hex(int(i)).upper()[2:].zfill(2),更更更进一步,如果想... ...你还是别想了回家洗洗睡吧

    展开全文
  • #include "spiderman.h"int ip_int(char *ip) //char *ip={"192.168.1.1"}{int count=0;int i=0;int ip_int[4];char *end;end=ip;memset(ip_int,0,4);for(i=0;*end!='\0';++i){if(*end=='.') //计算有几个数字{count...

    #include "spiderman.h"

    int ip_int(char *ip) //char *ip={"192.168.1.1"}

    {

    int count=0;

    int i=0;

    int ip_int[4];

    char *end;

    end=ip;

    memset(ip_int,0,4);

    for(i=0;*end!='\0';++i)

    {

    if(*end=='.') //计算有几个数字

    {

    count++;

    }

    else //从百位开始 到各位构造数 // 00 00 00 c0

    { //移位后进行与运算

    ip_int[count]=ip_int[count]*10 +(*end-'0'); // 00 00 00 a8

    } // 00 00 00 01

    end++; // 00 00 00 01

    }

    i=(ip_int[0]<<24)|(ip_int[1]<<16)|(ip_int[2]<<8)|(ip_int[3]);

    puts(ip);

    //printf("%x",i);

    return i;

    }

    刚刚学会函数的拆分,以后就直接在头文件声明函数了,嘻嘻

    #include "spiderman.h"

    int main()

    {

    char * ip = "192.168.1.1" ;

    //int a[4] ;

    int a = ip_int(ip) ;

    //sscanf(ip,"%d.%d.%d.%d", &a[0],&a[1],&a[2],&a[3]);

    //printf("%d.%d.%d.%d",a[0],a[1],a[2],a[3]);

    system("pause");

    return 0;

    }还有一种更为简单的方法,就是直接调用sscanf函数,不过像我自己这种初学者 还是多写写代码吧

    重点:

    1.以.定位每个数字段

    2.难点是怎么讲ASCII怎么转变成十进制数字 3.初学指针的应用比较容易出错

    展开全文
  • #include"csapp.h"/*本代码将点分十进制形式的ip地址转化为十六进制数并且输出*///返回一个字符串代表的整数intstr2int(char*str){//要注意变量的初始化intvalue=0;//字符串长度intlength=strlen(str);//基数intbase...
  • ​ A类IP地址 A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须 是“0”。地址范围从1.0.0.1到127.255.255.254 (二进制表示为:00000001 00000000 00000000 00000001 - 01111111 ...
  • C语言,二进制转ip//输入一连串的二进制数,转换成IP地址#include #include#includeint Sort(int x, int n);int main(void){int i;int ip[4] = { 0 };char Num[33];printf("请输入二进制数: \n");scanf_s("%s", Num,...
  • void getCharIpAddr(uint32_t ipAddress) { const int NBYTES = 4; uint8_t octet[NBYTES]; char ipAddressFinal[16]; for(int i = 0 ; i < NBYTES ; i++) { octet[i] = ipAddress >> (i * 8); } ....
  • #!/usr/bin/envpython#-*-conding:utf8-*-defemac(argv):emac=[]foriinargv.split('.'):try:ifint(i)<=255:emac.append(hex(int(i))[2:])else:print"Pleaseinputthevorrectaddress!"exceptType...
  • C语言将ip地址的二进制形式转化为十进制的形式01515rhbz2017.12.26浏览15次分享举报题目的意思是输入一个32位的二进制的数,每8位转化为一个十进制的书,将其转化为十进制ip地址。然后我写的代码是这样的#...
  • 1.把ip地址转化为用于网络传输的二进制数值 int inet_aton(const char *cp, struct in_addr *inp); inet_aton() 转换网络主机地址ip(如192.168.1.10)为二进制数值,并存储在struct in_addr结构中,即第二个参数*inp...
  • 本文介绍在java中IP地址转换十进制数及把10进制再转换成IP地址的方法及实例参考,晒出来和大家分享一下先看实例代码如下classip{privatestaticlongiptolong(stringstrip)//将127.0.0.1形式的ip地址转换成10进制整数...
  • ip地址,二进制,十进制 IP地址是指互联网协议地址,IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 IP地址是一个32位的二进制数,...
  • IP地址分类及进制转换 IP地址分类 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示...
  • 1.用途将一个整型数值和一个IP字符串相互转换...原理IP地址是一个以点作为分隔符的十进制四字段字符串,例如“10.0.3.193”。将这四个十进制数转化为二进制即为:每段数字 相对应的二进制数 10 00001010 0 00000000...
  • 点分十进制IP转换为32位二进制IP,带合法性校验 首先给出校验方法,遍历字符串,对 ‘.’ 进行计数,同时以 ‘.’ 作为分隔,取出每一段的数字,在 ‘.’ 的数量是合法的 3 个情况下,对每一段数字进行大小检查,都...
  • 不做嵌入式开发,很少有机会直接做二进制数据的操作,最近要在数据库里存放ip,为了节省空间,mysql的inet_aton() inet_ntoa()函数又不太方便用,就自己写了个转化的程序。public static long stringToAddress...
  • to_char(mod(trunc(十进制IP /256/ 256/256 ),256)) || '.'|| to_char(mod(trunc(十进制IP/ 256/256 ),256)) || '.'|| to_char(mod(trunc(十进制IP/ 256),256 )) || '.'|| to_char(mod(十进制IP, 256))
  • 本文章来为各位介绍一篇关于Linux中awk实现ip地址转二进制和数字模式&十进制转二进制的例子,希望这例子可以帮助到各位.[root@LookBack ~]# echo 8.8.8.8|awk -F. '{for(i=1;i<=NF;i++){a="";b=$i;while(b){...
  • 注: 简单修改tmp参数即可更换十进制ip #include <iostream> #include <vector> #include <cmath> #include <algorithm> using namespace std; int main(){ // int tmp = 167772417; int ...
  • Java编程实现十进制IP地址到二进制IP地址的转换。 如:192.168.1.100,转换后:11000000.10101000.00000001.01100100 要求: 1.定义自定义异常InvalidIP(检查型的),代表IP地址非法---如:点分十进制IP段数...
  • /usr/bin/env python# -*- coding:utf-8 -*-ip = '192.168.0.1'# 转为二进制:# 方法一'''eve = ip.split('.')s = ''for i in eve:i = int(i)ejz = bin(i)s += ejz+','print(s[:-1])'''# 方法二'''eve = ip.split('.'...
  • 给一个IP地址是点分十进制的表示形式,转化为二进制数据以字符串的形式输出。 示例如下 /** * 点分十进制转化为二进制 * @param ip * @return */ private String tenTransFromTwo(String ip) { String[] ...
  • 引言将IP地址转换成十进制整数,或者将十进制整数转换成IP地址,在网络编程中经常会遇到,其中的转换算法非常简单,利用强大的Python,更是只需要1-2行代码就搞定了。算法描述IP地址转换成整数算法1. 将 IP(A.B.C.D)...
  • 数制转换2.1 十进制转二进制2.2 进制数对应表2.3 常见八位二进制数三.IP地址的分类1.IP地址的组成2.IP地址的分类2.1 IP地址分为五2.2 IP地址私有网络地址和公有网络地址四.子网划分1.网段组成2.IP地址和子网掩码''...
  • ip地址转成十进制数是根据的公式算出来的:74×256^3+30×256^2+10×256+243 = 1243482867或者说分别将IP地址的四位数字化成十六进制,将得到的十六进制去掉\"小数点\"后再化为十进制即可.PHP 中如何将ip地址转成...
  • 十六进制表示ip地址的时候两位一个停顿 c2 = 12 * 16 + 2 = 194 2f = 2 * 16 + 15 = 47 14 = 1 * 16 + 4 = 20 81 = 8 * 16 + 1 = 129 19.47.20.129 下面看好了,我这个才是正确的: A网络的回答IP地址范围为1.0....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,467
精华内容 37,386
关键字:

十进制ip地址地址类