Console.WriteLine("BitConverter.IsLittleEndian = {0}", BitConverter.IsLittleEndian);
Console.WriteLine();
string format = "ipAddress.Address = {0}, 十六进制 = 0x{1}";
string ip = "192.168.1.224";
Console.WriteLine("字符串:" + ip);
IPAddress ipAddress = IPAddress.Parse(ip); Console.WriteLine(format, ipAddress.Address, ipAddress.Address.ToString("x2"));
Console.WriteLine(ipAddress.ToString());
var array = ipAddress.GetAddressBytes();
int index = -;
foreach (byte b in array)
{
index++;
Console.WriteLine("array[{0}] = 0x{1}", index, b.ToString("x2"));
}
Console.WriteLine(); uint number = ;
Console.WriteLine("无符号整数:" + number + " 0x" + number.ToString("x2"));
ipAddress = IPAddress.Parse(number.ToString());
Console.WriteLine(format, ipAddress.Address, ipAddress.Address.ToString("x2"));
Console.WriteLine(ipAddress.ToString());
array = ipAddress.GetAddressBytes();
index = -;
foreach (byte b in array)
{
index++;
Console.WriteLine("array[{0}] = 0x{1}", index, b.ToString("x2"));
}
Console.WriteLine(); number = ;
Console.WriteLine("无符号整数:" + number + " 0x" + number.ToString("x2"));
ipAddress = IPAddress.Parse(number.ToString());
Console.WriteLine(format, ipAddress.Address, ipAddress.Address.ToString("x2"));
Console.WriteLine(ipAddress.ToString());
array = ipAddress.GetAddressBytes();
index = -;
foreach (byte b in array)
{
index++;
Console.WriteLine("array[{0}] = 0x{1}", index, b.ToString("x2"));
}
Console.WriteLine();

输出结果:

机器字节序为小端

BitConverter.IsLittleEndian = True

字符串:192.168.1.224
ipAddress.Address = 3758205120, 十六进制 = 0xe001a8c0
192.168.1.224
array[0] = 0xc0
array[1] = 0xa8
array[2] = 0x01
array[3] = 0xe0

无符号整数:3232236000 0xc0a801e0
ipAddress.Address = 3758205120, 十六进制 = 0xe001a8c0
192.168.1.224
array[0] = 0xc0
array[1] = 0xa8
array[2] = 0x01
array[3] = 0xe0

无符号整数:3758205120 0xe001a8c0
ipAddress.Address = 3232236000, 十六进制 = 0xc0a801e0
224.1.168.192
array[0] = 0xe0
array[1] = 0x01
array[2] = 0xa8
array[3] = 0xc0

分析:将一个无符号的数字3232236000进行ip地址的解析,3232236000在本机上是按照小端进行排列的。0xc0a801e0

ip地址解析之后,直接按照网络字节序(大端)进行了转换,所以在打印ipAddress.Address会发现数字被反转了。0xe001a8c0

IPAddress.ToString()得到的字符串,和IPAddress.Address是反的

192.168.1.18    对应的Address是0x1201A8C0   高位在低地址存储

  uint number = ;

                IPAddress ipAddress1 = IPAddress.Parse(number.ToString());
Console.WriteLine(ipAddress1.ToString());
Console.WriteLine(ipAddress1.Address);
Console.WriteLine();
IPAddress ipAddress2 = new IPAddress(number);
Console.WriteLine(ipAddress2.ToString());
Console.WriteLine(ipAddress2.Address);

IPAddress的更多相关文章

  1. C#的IPAddress IPEndPoint

    以前觉得什么都能记住 翻一遍书就能去考试了,现在回过头来想一些东西,突然有种模糊的陌生感,应了那句好记性不如烂笔头.做笔记终归是利大于弊的.麻烦一点但是却受用. 突然想从头开始,看一些过去的书,补一些 ...

  2. IPAddress类

    using System.Net; IPAddress ad1=IPAddress.Parse("192.168.1.1"); //ip为192.168.1.1的地址 IPAddr ...

  3. IP工具类——IpAddress.java

    根据IP地址获取详细的地域信息,也可通过 http://whois.pconline.com.cn/ 获取地址信息. 源码如下:(点击下载  IpAddress.java) import java.i ...

  4. C#中IPAddress转换成整型int

    string addr = "11.22.33.44"; System.Net.IPAddress IPAddr=System.Net.IPAddress.Parse(addr); ...

  5. IPAddress.Any 解决本地ip和服务器ip切换问题

    IPAddress.Any表示本机ip,换言之,如果服务器绑定此地址,则表示侦听本机所有ip对应的那个端口(本机可能有多个ip或只有一个ip)IPAddress.Any微软给出的解释是:Provide ...

  6. Jexus .Net at System.Net.Sockets.Socket.Connect (System.Net.IPAddress[] addresses, System.Int32 port)

    环境:Jexus(独立版)+MVC(5.2.3) +Redis+EF(6.0) Application Exception System.Net.Sockets.SocketException Con ...

  7. Eureka服务注册过程详解之IpAddress(详解eureka.instance.prefer-ip-address = true 与 eureka.instance.prefer-ip-address)

    分析,eureka.instance.prefer-ip-address 本节解释为什么配置eureka.instance.prefer-ip-address = true时,注册到Eureka Se ...

  8. unity 2018获取本地ip 问题,ipaddress

    Network.Player.ipAddress这个API在Unity2018被移除了 用如下代码 using System.Net; using System.Net.NetworkInformat ...

  9. C#网络编程基本字段---IPAddress、IPEndPoint

    命名空间: using System.Net; PAddress类提供了对IP地址的转换.处理等功能.其Parse方法可将IP地址字符串转换为IPAddress实例. 如:IPAddress ip = ...

随机推荐

  1. 在Xcode6中找回失去的模板

    [Add]2014.07.27 添加OC category.protocol模板 Xcode 6从beta 3开始在创建新项目窗口中移除了“Empty Application”,如下: 其他选项很不幸 ...

  2. Git的安装以及注册账号等操作

    1.安装Git-2.5.1-64-bit.exe  一直下一步直至完成 2.注册github账号 官网地址:https://github.com/github 3.找到一个按钮“New Reposit ...

  3. HDU 4762 Cut the Cake

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4762 题目大意:将n个草莓随机放在蛋糕上,草莓被看做是点,然后将蛋糕平均切成m份,求所有草莓在同一块蛋 ...

  4. 九度OJ 1501 最大连续子序列乘积 -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1501 题目描述: 给定一个浮点数序列(可能有正数.0和负数),求出一个最大的连续子序列乘积. 输入: 输入可能包含 ...

  5. Head First 设计模式系列之二----备忘录模式(java版)

    申明:这几天无意中关注到备忘录模式,比较陌生回家一番参考书,只在附录里记录了该模式.后来在园子里有发现了有专门写设计模式的博客,并且写的也得牛逼.附上链接 http://www.cnblogs.com ...

  6. PLINQ 简介

    PLINQ和LINQ的语法基本是差不多的,PLINQ该如何实现并行 var query = from item in source.AsParallel() select item; 一个简单的AsP ...

  7. 此博客不更新文章,请到www.xiaoxiangyucuo.com看最新文章

    请到www.xiaoxiangyucuo.com看更多资料,包括Linux,JavaScript,Python,MySQL,PHP,HTML,Photoshop,以及各类软件下载. 希望大家支持,提出 ...

  8. STM32F407移植contiki2.6后使用LWIP库实现tcp client

    最近在做智能家居,物联网项目,用到了C下的contiki移植 经过一阵调试,终于在 STM32F407移植contiki2.6后使用LWIP库实现tcp client. 一路艰辛谁人知道....唯有留 ...

  9. Erlang 开发者的福音:IntelliJ IDEA 的 Erlang 插件

    IntelliJ IDEA 的 Erlang 插件,主要特性: 智能编辑器:  Erlang 代码补全.语法和错误高亮.代码检查 代码导航:项目和文件结构视图.在文件.模型.函数和用例之间快速跳转 工 ...

  10. 解决lucene 重复索引的问题

    在使用Lucene过程中,会发现当我们为添加新的Document时,会产生重复现象(两次添加同一个Document),毕竟Lucene中没有像数据库中一样,有键可以区分.不过我们可以通过为Docume ...