首页
社区
课程
招聘
[讨论]一个很简单的16进制字符串问题
发表于: 2012-5-23 17:04 4138

[讨论]一个很简单的16进制字符串问题

2012-5-23 17:04
4138
比如

在输出内核数据的时候遇到的问题:

16进制           十进制
0f07     --->   3847

但是这个16进制实际上是070f,也就是说转换成十进制应该是1807。

如何使这个0f07,变成070f呢?

太菜了,不解,貌似内核数据的排列都是这么来的~~   

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 107
活跃值: (409)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你想怎样??
内存里都这么排列的..
你是要读出来还是肿么?

0x12345678
内存是78563412
2012-5-23 17:09
0
雪    币: 203
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
izc
3
俺获取的数据一般都是  34 12 这种类型的,搞成 12 34 就行。不知道怎么转啊   
2012-5-23 17:20
0
雪    币: 31
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
系统有api的吧?如果有书的话书中网络编程部分有讲,内存大尾和小尾。
2012-5-23 17:49
0
雪    币: 209
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
ntohs = htons = 2字节对调
ntohl = htonl = 4字节对调
2012-5-23 18:39
0
雪    币: 203
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
izc
6
哦哦哦哦~   
2012-5-23 18:45
0
雪    币: 807
活跃值: (2303)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
用一个字符串指针指向该内存地址,将2个字节作交换就可以了。

short N = 0x1234    ;
unsigned char * P   ;
unsigned char a , b ;

P = & N          ;
a = * P          ;
b = * (P + 1)    ;
* P = b          ;
* (P + 1) = a    ;

// N = 0x3412 now !
2012-5-23 18:47
0
雪    币: 203
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
izc
8
   效果不错哦!
2012-5-23 21:04
0
游客
登录 | 注册 方可回帖
返回
//