ip地址什么时候要用16位char数组存放
来源:互联网 发布:java键盘监听松开按键 编辑:程序博客网 时间:2024/05/16 01:23
ip地址实际上是用32bit的二进制数来表示的,
比如11010011 1000101 11000110 11011111,用点分十进制表示就是我们熟悉的211.69.198.223。
如果要把“211.69.198.223”存放到char数组中时,很自然地觉得,一个char表示8位,32位IP地址用4个char就行了(因为IP地址是0~255,所以如果用4个char来表示,应该使用的是unsigned char)。但是这给打印带来了不便,如果把这4个char打印出来,输出的不是点分十进制的IP地址,而是4个拓展ansii字符。因此一般是用16位的char(signed char即可)来存放ip,一个char存放一个数字或点分隔符(“.”),最后是字符串的null终止符。比如:
211.69.198.223存放起来就是
255.255.255.255存放起来就是
当然,上面讲的是需要将ip地址打印出来的情况下,用16位char数组来存放ip地址。如果不需要打印,那么用4个unsigned char来存放ip地址完全没问题
至于IPv6地址,是128bit,通常写成8组,每组4个16位进制数,例如2001:250:4000:8039:a51b:6fc1:2d97:fe14,一个16进制数4bit(0~f对应0000~1111),16*4*8=128bit
0 0
- ip地址什么时候要用16位char数组存放
- 点分十进制的IP地址用16位的char数组存放
- char [] 数组停止位
- IP地址如何存放在数据库
- Java记录 -33- 数组存放对象地址
- //申请一个存放PSTR(char *)的二维数组空间
- 【C/C++】如何利用char型数组buffer存放指针
- ip地址转换: char * <---> unsigned int
- 将16位无符号整数转化为BCD码存放在数组中
- 指针分配和高低位数据存放高低地址
- windows中ip地址存放的位置,及修改
- 服务器反向代理中用于存放客户端原始 IP 地址
- string 和 char *两者的区别是什么 ?什么时候用string好? 什么时候用 char * 合适?什么时候同时都能用?
- C语言—位运算、char、数组
- IP地址转为整形数组
- 用数组存放书本信息
- C++用数组存放数据
- 在dsp固定的内存地址处存放数组
- linux系统修改启动logo的步骤
- 【Android-010】【HttpClient使用】
- 请求网络连接工具类
- hdu 4741 Save Labman No.004 空间两直线最短距离及坐标
- AudioEffect中Visualizer, Equalizer, BassBoost和PresetReverb使用示例
- ip地址什么时候要用16位char数组存放
- App调试内存泄露之Context篇
- Hadoop Yarn 框架原理及运作机制
- Java数组的创建、初始化、使用
- week6---10月14日 CSS样式(二)
- C语言中值传递、地址传递、引用传递的区别
- basics 优先级
- 很难界定数据库与编程的关系,学数据库最基础的是什么
- poj 1411 Calling Extraterrestrial Intelligence Again 筛素数