[200分]急!!求助一个基础问题?

fly29 2006-12-23 02:34:42
要求:
16进制字符表示的16位或32位整数是将高八位位组在前,低八位位组在后。

例:
会话ID为:16进制字符(0-F)表示的32位整数(8Byte)。对应上面的要求,应该怎么样来做转换呢?

分不够,另开帖给分!
...全文
737 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
marvelboy123 2006-12-25
  • 打赏
  • 举报
回复
移位运算!
penghao20051 2006-12-24
  • 打赏
  • 举报
回复
我也不会
vivid_fly 2006-12-24
  • 打赏
  • 举报
回复
ding
laiwusheng 2006-12-24
  • 打赏
  • 举报
回复
题目没看明白
fly29 2006-12-24
  • 打赏
  • 举报
回复
是不是这样?
char a = 'b'; //16进制字符
int hi = ((int) a) >>> 8; //高8位
int lo = ((int) a) & 0xFF; //低8位
zh_zhen 2006-12-24
  • 打赏
  • 举报
回复
少了return *(WORD*)p;
zh_zhen 2006-12-24
  • 打赏
  • 举报
回复
大不了把每个字节取出来直接写到目标位置呀

DWORD Big2Little32(DWORD src)
{
BYTE b = 0;
BYTE *p = (BYTE*)(&src);

b = p[0];
p[0] = p[3];
p[3] = b;

b = p[1];
p[1] = p[2];
p[2] = b;

return *(DWORD*)p;
}

WORD Big2Little16(WORD src)
{
BYTE b = 0;
BYTE* p = (BYTE*)(&src);

b = p[0];
p[0] = p[1];
p[1] = b;
}

根据要求也可以优化啦,这算是最笨的咯。
fly29 2006-12-24
  • 打赏
  • 举报
回复
碰到这个问题,主要是调试一个接口。对方服务器是UNIX/IBM大型机,所以文档中要求就是将所有16进制进行这样的转换。
rehte 2006-12-24
  • 打赏
  • 举报
回复
你的描述有问题,你是想要将big endian和little endian之间的转换吗?按照你的说法是不是将big endian格式转换成little endian格式,也就是高8位数字放在低地址内存,低8位数字放在后续地址内存吗?
这个问题经常是UNIX/IBM大型机和Windows/PC机之间数据转换格式
lang83206569 2006-12-24
  • 打赏
  • 举报
回复
学习
fly29 2006-12-24
  • 打赏
  • 举报
回复
自己顶一下,之前贴的部分代码可能还有点问题
lixiaoxue85 2006-12-23
  • 打赏
  • 举报
回复
高8位代表前面一个字符 后八位代表后面1个字符(不足补零)
你直接换一下不就相当于把字符换一下?
gujianxin 2006-12-23
  • 打赏
  • 举报
回复
F=46=01000110
zmxgb 2006-12-23
  • 打赏
  • 举报
回复
123456789ABCDEF0你是说这样的16位16禁止数,?可是高8位在前第8位在后海需要转是不是要低八8位在前高8位在后....高低位 汇编中有此一说具体记不清了
buyaowen 2006-12-23
  • 打赏
  • 举报
回复
高8位在前,低8位在后是什么意思?
--------------------


你举个例子吧,否则估计很多人不明白
jun526 2006-12-23
  • 打赏
  • 举报
回复
ding
kingofworl 2006-12-23
  • 打赏
  • 举报
回复
ding
fly29 2006-12-23
  • 打赏
  • 举报
回复
up
fly29 2006-12-23
  • 打赏
  • 举报
回复
我再作下说明
意思就是:把16进制表示的16位或32位整数(长度为8字节),转换成高8位在前,低8位在后。应该怎么转换呢?
gangjh 2006-12-23
  • 打赏
  • 举报
回复
移位運算 再或運算
加载更多回复(2)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧