一文彻底看懂十进制IP\主机IP\网络IP的三个IP字节转换

本文操作的使用软件是VS2010。采用语言是C语言。

1.字节存储顺序

多字节数据的各字节在微机中的存放顺序有小端(Little Endian)和大端(Big Endian)之分。Intel体系芯片使用小端,IBM的Power PC使用大端。

例如,将0x12345678写入到1000h开始的内存中,结果如图。 

地址

小端方式

大端方式

1000h

78H

12H

1001h

56H

34H

1002h

34H

56H

1003h

12H

78H

 测试实例,可以判断自己主机的字节存储顺序。执行结果如下图

#include "stdio.h"
void main(void)
{
  int i,*pi;
  i=0x12345678;
  pi=&i;
  printf("pi=%X,*pi=%X\n",pi,*pi);

  char *pc=(char*)pi;
  printf("%X %X %X %X\n",*pc,*(pc+1),*(pc+2),*(pc+3));  
}
字节存储顺序实例运行结果
字节存储顺序实例运行结果

 2.IP地址的表示形式

对于网络管理员或普通用户而言,IP地址常用点分法来表示。例如192.168.0.1。

在计算机中使用无符号长整数(unsigned long)来存储和表示IP地址,而且分为网络字节顺序(NBO,Network Byte Order)和主机字节顺序(HBO,Host Byte Order)两种格式。

网络字节序采用大端存储方式。主机字节序的存储方式随软硬

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python面向对象编程(Object-Oriented Programming,简称OOP)是一种程序设计方法,它将数据和操作数据的方法组合成对象,通过定义类(class)来创建对象。下面是一些概念和原则,可以帮助你更好地理解Python面向对象编程。 1. 类和对象: - 类是一种抽象的数据类型,它定义了对象的属性和方法。 - 对象是类的实例,它具有类定义的属性和方法。 2. 属性和方法: - 属性是对象的数据,可以是整数、字符串、列表等。 - 方法是对象的行为,可以是函数或过程。 3. 封装: - 封装是将数据和对数据的操作封装在一起,以创建一个独立的实体。 - 使用类来封装数据和方法,可以隐藏实现细节,提高代码的可读性和可维护性。 4. 继承: - 继承是一种机制,允许一个类继承另一个类的属性和方法。 - 子类可以重用父类的代码,并且可以添加新的属性和方法。 5. 多态: - 多态是指同一个方法可以在不同的类中具有不同的实现方式。 - 多态可以提高代码的灵活性和可扩展性。 下面是一个简单的例子,展示了如何定义一个类、创建对象并调用对象的方法: ```python class Person: def __init__(self, name, age): self.name = name self.age = age def say_hello(self): print(f"Hello, my name is {self.name} and I'm {self.age} years old.") # 创建对象 person = Person("Alice", 25) # 调用对象的方法 person.say_hello() ``` 这个例子定义了一个名为`Person`的类,它有两个属性(`name`和`age`)和一个方法(`say_hello`)。我们通过`Person`类创建了一个名为`person`的对象,并调用了它的`say_hello`方法。 希望这个简单的例子能帮助你更好地理解Python面向对象编程。如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值