• C#IP转int int转IP


    IP转int

    string IP="172.0.0.1";

    string[] arrayIP = IP.Split('.');
                int sip1 = Int32.Parse(arrayIP[0]);
                int sip2 = Int32.Parse(arrayIP[1]);
                int sip3 = Int32.Parse(arrayIP[2]);
                int sip4 = Int32.Parse(arrayIP[3]);
                int tmpIpNumber= sip1 * 256 * 256 * 256 + sip2 * 256 * 256 + sip3 * 256 + sip4;

    int转IP方法1

     //将目标整形数字intIPAddress转换为IP地址字符串

    int numip=-1409286143;

    int tempIPAddress;
                    if (numip>= 0)
                    {
                        tempIPAddress = numip;
                    }
                    else
                    {
                        tempIPAddress = numip+ 1;
                    }
                    int s1 = tempIPAddress / 256 / 256 / 256;
                    int s21 = s1 * 256 * 256 * 256;
                    int s2 = (tempIPAddress - s21) / 256 / 256;
                    int s31 = s2 * 256 * 256 + s21;
                    int s3 = (tempIPAddress - s31) / 256;
                    int s4 = tempIPAddress - s3 * 256 - s31;
                    if (ip < 0)
                    {
                        s1 = 255 + s1;
                        s2 = 255 + s2;
                        s3 = 255 + s3;
                        s4 = 255 + s4;
                    }
                    string strIPAddress = s1.ToString() + "." + s2.ToString() + "." + s3.ToString() + "." + s4.ToString();

    int转IP方法2

    int numip=-1409286143;

    string[] ipnods=new string[4];
                    for (int i = 0; i < 4; i++)
                    {
                        ipnods[i] = $"{numip&255}";
                        numip >>= 8;
                    }
                    var strIPAddress = string.Join(".", ipnods.Reverse());

    int转IP方法3 

    int numip=-1409286143;  

    int s1 = (ip >> 24) & 255;
                    int s2 = (ip >> 16) & 255;
                    int s3 = (ip >> 8) & 255;
                    int s4 = ip & 255;
                    string strIPAddress = s1.ToString() + "." + s2.ToString() + "." + s3.ToString() + "." + s4.ToString();

  • 相关阅读:
    Java线程发生IO阻塞时的线程状态
    深入探讨Go中的字典
    帆软FineReport决策报表之页面布局
    React源码分析1-jsx转换及React.createElement
    Day06--上拉触底
    ZLMediaKit学习(一):Window环境下推拉流
    Ansible自动化:简化你的运维任务
    TDengine 3.3.0.0 引入图形化管理工具、复合主键等 13 项关键更新
    Java多线程 深入理解volatile关键字 volatile的使用和原理分析
    关于这个问题解决的一个纠正
  • 原文地址:https://blog.csdn.net/weiwei_y/article/details/136394258