Eric.wei
The dream starts
My Links
IT博客
首页
联系
聚合
管理
Blog Stats
Posts - 20
Stories - 2
Comments - 1
Trackbacks - 0
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(19)
c++(4)
(rss)
linux(15)
(rss)
文章分类
(2)
常用信息(1)
(rss)
趣闻拾遗(1)
(rss)
文章档案
(2)
2007年11月 (2)
搜索
最新评论
1. re: sock-Richard Stevens' sock program[未登录]
sock是Richard Steven自己写的程序吗?UNIX系统中怎么没有这个命令?
--jacky
阅读排行榜
1. 【zz】vim小技巧(2846)
2. 【原】2次objdump法快速确定oops位置(1639)
3. [原]实用shell脚本(不定期更新中)(1179)
4. [zz]firefox中的baidu搜索引擎插件(954)
5. 重要学术会议列表(900)
评论排行榜
1. sock-Richard Stevens' sock program(1)
2. [zz]lsof 命令详解(0)
3. 重要学术会议列表(0)
4. 【zz】vim小技巧(0)
5. 【转】Boost socket performance on Linux (0)
【原】自定义的ip转化函数
__u32 ip_str2int(
char
*
s)
{
//
zw011!
int
n
=
0
,tmp
=
0
;
__u32 r
=
0
;
char
*
pt;
pt
=
(
char
*
)
&
r;
while
(
*
s)
{
if
(
*
s
==
'
.
'
)
{
*
(pt
+
n)
=
tmp;
n
++
;
tmp
=
0
;
s
++
;
}
tmp
*=
10
;
tmp
+=*
s
-
'
0
'
;
s
++
;
if
(
!*
s)
*
(pt
+
n)
=
tmp;
}
return
r;
//
big-endian
//
return htonl(r);
//
little-endian
}
另附:
Big-Endian 和 Little-Endian 字节排序
字节排序
含义
Big-Endian
一个
Word
中的高位的
Byte
放在内存中这个Word区域的低地址处。
Little-Endian
一个
Word
中的低位的
Byte
放在内存中这个Word区域的低地址处。
必须注意的是:表中一个Word的长度是16位,一个Byte的长度是8位。如果一个数超过一个Word的长度,必须先按Word分成若干部分,然后每一部分(即每个Word内部)按Big-Endian或者Little-Endian的不同操作来处理字节。
一个例子:
如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
big-endian little-endian
0x0000 0x12 0xcd
0x0001 0x34 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12
posted on 2007-11-27 16:16
wei
阅读(191)
评论(0)
编辑
收藏
引用
所属分类:
linux
只有注册用户
登录
后才能发表评论。