免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2503 | 回复: 3

[算法] 一小段C程序,求解释 [复制链接]

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2013-12-04 19:20 |显示全部楼层
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <math.h>

  5. #define BYTE unsigned char
  6. void charToNumber(BYTE  *t, int start, int len) ;
  7. main()
  8. {
  9.     char tmp[32]={-63,6,100};
  10.     char line[256];
  11.     charToNumber(tmp,0,3);
  12. }
  13. /************************************************************/
  14. void charToNumber(BYTE  *t, int start, int len)
  15. {
  16.         int flag = ((int) 0xff & t[start]); //0xff 255
  17.         int index=0;
  18.         int i=0;
  19.         BYTE num;
  20.         double number_tmp = 0;
  21.         printf("flag %d\n",flag);
  22.         while(1)
  23.         {
  24.             if(index==len)
  25.                 break;
  26.             printf("index[%d]=======%x\n",index,t[index]);
  27.             index++;
  28.         }
  29.         if (flag > 0x80) //0x80 128
  30.         {
  31.             index = flag - 0xc1; //0xc1 193
  32.             for (i = start + 1; i < start + len; i++) {
  33.                 num = t[i];
  34.                 number_tmp += (num - 0x01) * pow(100, index);
  35.                 printf("t[%d]:%d number_tmp:%f\n",i,t[i],number_tmp);
  36.                 index--;
  37.             }
  38.         }
  39.         if (flag < 0x80) {
  40.             index = flag - 0x3e; //0x3e 62
  41.             for (i = start + 1; i < start + len; i++) {
  42.                 num = t[i];
  43.                 if (num == 0x66) { //0x66 102
  44.                     break;
  45.                 }
  46.                 number_tmp -= (0x65 - num) * pow(100, -index); //0x65 101
  47.                 index++;
  48.             }
  49.         }
  50.         if (flag == 0x80) {
  51.             number_tmp = 0;
  52.         }
  53. }
复制代码
求指点上面程序是什么意思?什么原理或者算法?

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2013-12-06 09:13 |显示全部楼层
顶一下,求各种解释

论坛徽章:
0
发表于 2013-12-06 11:03 |显示全部楼层
神代码。。。
貌似学生时代的产品吧

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2013-12-06 14:36 |显示全部楼层
foolishx 发表于 2013-12-06 11:03
神代码。。。
貌似学生时代的产品吧

作者已经离职了,实在看不懂人家是怎么想出来这个算法的,发出来让各路高手过目。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP