首页 > 其他分享 >ip转10进制

ip转10进制

时间:2023-03-12 14:02:37浏览次数:25  
标签:IPNum 10 socket function ip 256 十进制 进制

前言

最近需要方便ip存储和查询,所有的数据都转换为10进制,今天就来记录一下,方便以后也进行操作,处理数据也会方便很多

php的ip十进制转换

第一种方法

  public function ipToLong(){
	$ip = $_SERVER['REMOTE_ADDR'];
	$ip = explode('.', $ip);
	$ip = array_reverse($ip);//数组反转
	$r = 0;
	for($i=0,$j=count($ip); $i<$j; $i++){
		$r += $ip[$i] * pow(256, $i);
	}
	$r = sprintf("%u", $r);
	echo $r;
}

第二种方法

public function ipToLong(){
	$ip = $_SERVER['REMOTE_ADDR'];
	$ip = explode('.',$ip);
	$r = ($ip[0] << 24) | ($ip[1] << 16) | ($ip[2] << 8) | $ip[3];
	if($r < 0) $r += 4294967296;
	echo $r ;
}

第三种方法

echo  ip2long('192.168.1.1');//使用php函数

十进制转为ip php方法

function Long2DotIP ($IPNum) {
	if ($IPNum == "") {
		return "0.0.0.0";
	}
	else {
		return (($IPNum / 16777216) % 256) . "." . (($IPNum / 65536) % 256) . "." . (($IPNum / 256) % 256) . "." . ($IPNum % 256);
	}
}
 function intToIP($iIP){
    $xor = array(0x000000ff,0x0000ff00,0x00ff0000,0xff000000);
    for($i=0; $i<4; $i++){
        $s = '';
        $s = ($iIP & $xor[$i]) >> $i*8;
        if ($s < 0) $s += 256;
        $ips[] = $s;
        }
    krsort($ips);
    return implode('.',$ips);
    }

python的ip十进制相互转换

import socket
import struct

#ip转换十进制  
socket.ntohl(struct.unpack("I",socket.inet_aton("10.10.58.64"))[0])

#十进制转换ip
socket.inet_ntoa(struct.pack("I", socket.htonl(168442432)))

标签:IPNum,10,socket,function,ip,256,十进制,进制
From: https://blog.51cto.com/u_15973272/6115781

相关文章

  • ctfshow 1000题记录
    RCE-Web32<?phperror_reporting(0);if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/flag|system|php|cat|sort|shell|\.||\'|\`|echo|\;|\(/i",......
  • ChIP-seq 分析:TF 结合和表观遗传状态(13)
    动动发财的小手,点个赞吧!1.Data今天我们将继续回顾我们在上一次研究的MycChIPseq。这包括用于MEL和Ch12细胞系的MycChIPseq。可在此处找到MEL细胞系中Myc......
  • 2020 年百度之星·程序设计大赛 - 复赛 1002 Binary Addition
    problemBinaryAdditionAccepts:851Submissions:3320TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)ProblemDescription你有......
  • 【PAT乙】1003 我要通过! (20分) 字符串条件判定
    problem“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送——只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案......
  • Day10-综合案例
    1.导入前后端项目1.导入后端项目【1】将课后资料中素材中的后台项目放到你的idea工作空间,然后在idea中导入后端项目【2】修改你的idea的maven路径【3】修改tomcat和......
  • Day10-综合案例sql
    useday10_heima145;CREATETABLEt_user(idint(11)NOTNULLAUTO_INCREMENT,--用户编号usernamevarchar(3......
  • P1149 [NOIP2008 提高组] 火柴棒等式 题解
    [NOIP2008提高组]火柴棒等式题目描述给你\(n\)根火柴棍,你可以拼出多少个形如\(A+B=C\)的等式?等式中的\(A\)、\(B\)、\(C\)是用火柴棍拼出的整数(若该数非零,则最高......
  • 用python编写程序,使用筛选法查找并输出小于1000的所有素数
    #创建一个布尔数组,其中的值都是True,数组下标为i表示数字i是否为素数prime=[Trueforiinrange(1000)]#0和1不是素数,因此将它们的值设置为Falseprime[0]=Falseprim......
  • 一个100%立即获得New bing资格的方法教程-点击就送bing chat
    之前加入waitlist的账号一个多月过去了还没有任何反应,但是身边朋友却“点击就送”?深入调查后发现原来是IP的影响,相信说到这里就已经有人知道该怎么做了方法:将节点IP更......
  • P1102 A-B 数对
    题目链接:https://www.luogu.com.cn/problem/P1102方法1:二分答案#include<bits/stdc++.h>usingnamespacestd;intn,c,a[200005];longlongans;intmain(){ cin......