1.思维导图
2.大小端验证
#include <head.h>
/*union num
{
int A;
char C;
}data;*/
int main(int argc, const char *argv[])
{
//data.A=0x12345678;
int a=0x12345678;
//char* c=(char*)&a;
char b=(char)a;
if(/**c==0x78&&data.C==0x78&&*/b==0x78)
{
printf("小端存储\n");
}
else if(/**c==0x12&&data.C==0x12&&*/b==0x12)
{
printf("大端存储\n");
}
return 0;
}
3.主机字节序与网络字节序之间的转换
#include <head.h>
int main(int argc,const char* argv[])
{
unsigned int a=0x12345678;
unsigned short b=0x1234;
unsigned int ta=htonl(a);
unsigned short tb=htons(b);
printf("%#x\n",ta);
printf("%#x\n",tb);
}
4. 点分十进制
#include <head.h>
int main(int argc,const char* argv[])
{
//定义一个IP地址
char* ip="192.168.125.20";
//将点分十进制转换为整数
in_addr_t a=inet_addr(ip);
printf("%#x\n",a);
unsigned int b=ntohl(a);
printf("%#x\n",b);
}