小算法

big_cucumber 2012-04-18 05:20:11
有个byte数组:一共是32个元素,例如:31323334350000000000000000000000
哪位兄弟帮忙写个函数,转换成
0x31 0x32 0x33 0x34 0x35 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,这样结果一共是16个字节。。

快速结贴!

...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hen_hao_ji 2012-04-18
  • 打赏
  • 举报
回复

int main()
{
byte arr[32]={3,1,3,2,3,3,3,4,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int i = 0;
while(i<32)
{
unsigned short num = *((unsigned short *) (arr+i));
num = num << 8 | num >>4;
num=num>>4;
i+=2;
printf("0x%x\n", num);
}
}
evencoming 2012-04-18
  • 打赏
  • 举报
回复
printf只是输出加前缀。
evencoming 2012-04-18
  • 打赏
  • 举报
回复
int getval(char c)
{
if( c<='f' && c>='a' )
return c-'a'+10;
if( c<='F' && c>='A' )
return c-'A'+10;
return c-'0';
}
void transe(char s[32],int dest[])
{
for(int i=0;i<16;i++)
{
dest[i]= getval(s[2*i])*16+getval(s[2*i+1]);
}
for(int j=0;j<16;j++)
{
printf("%#.2x ",dest[i]);
}
}
big_cucumber 2012-04-18
  • 打赏
  • 举报
回复
哥们,能不用c++的库函数吗,我最后还要再写成java代码
evencoming 2012-04-18
  • 打赏
  • 举报
回复
int 吗?
void transe(char s[32],int dest[])
{
for(int i=0;i<16;i++)
sscanf(s+i*2,"%.2x",&dest[i]);
for(int j=0;j<16;j++)
{
printf("%#.2x ",dest[i]);
}
}
  在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。 《算法导论(原书第3版)》选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在it专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。    第3版的主要变化:    新增了van emde boas树和多线程算法,并且将矩阵基础移至附录。    修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。    移除两章很少讲授的内容:二项堆和排序网络。    修订了动态规划和贪心算法相关内容。    流网络相关材料现在基于边上的全部流。    由于关于矩阵基础和strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。    修改了对knuth-morris-pratt字符串匹配算法的讨论。    新增100道练习和28道思考题,还更新并补充了参考文献。

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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