900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C语言ip地址转换成十六进制 在C ++中将IP地址转换为十六进制的程序

C语言ip地址转换成十六进制 在C ++中将IP地址转换为十六进制的程序

时间:2024-01-07 11:10:07

相关推荐

C语言ip地址转换成十六进制 在C ++中将IP地址转换为十六进制的程序

使用输入作为IP地址值给出,任务是将给定IP地址表示为其十六进制等效项。

什么是IP地址

IP地址或Internet协议是一个唯一编号,用于唯一描述您连接到网络的硬件。Internet是指通过网络和协议定义的一组连接必须遵循的规则和规定。仅由于IP地址,一个系统就有可能通过网络与另一个系统通信。IP有两个版本,分别是-IPv4(Internet协议版本4)

IPv6(Internet协议版本6)

IP地址表示为数字序列,格式为-

151.101.65.121

对于此转换,下面的程序使用的是针对互联网操作创建的头文件“ arpa / inet.h”

示例Input-:127.0.0.1

Ouput-:0x7f000001

Input-:172.31.0.2

Output-:0xac1f0002

算法Start

Step1->Declarefunctiontoreverse

voidreverse(char*str)

setintlen=2

setintr=strlen(str)–2

LoopWhile(len

callswap(str[len++],str[r++])

Callswap(str[len++],str[r])

Setr=r–3

End

End

Step2->DeclarefunctiontoconvertIPaddresstohexadecimal

voidconvert(intip_add)

declarecharstr[15]

callsprintf(str,"0x%08x",ip_add)

callreverse(str)

printstr

step3->Inmain()declareintip_add=inet_addr("127.0.0.1")

callconvert(ip_add)

Stop

示例#include

#include

#include

usingnamespacestd;

//反十六进制数

voidreverse(char*str){

intlen=2;

intr=strlen(str)-2;

while(len

swap(str[len++],str[r++]);

swap(str[len++],str[r]);

r=r-3;

}

}

//将IP地址转换为十六进制

voidconvert(intip_add){

charstr[15];

sprintf(str,"0x%08x",ip_add);

reverse(str);

cout<

}

intmain(){

intip_add=inet_addr("127.0.0.1");

convert(ip_add);

return0;

}

输出结果

如果我们运行以上代码,它将在输出后产生0x7f000001

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。