util.cpp
上传用户:tt_chan
上传日期:2009-12-03
资源大小:4523k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "util.h"
  3. int _hextodec( char *hex, int len )
  4. {
  5. int dec  = 0;
  6. int base = 1;
  7. int index;
  8. for ( int i = len - 1; i >= 0; i-- )
  9. {
  10. if ( hex[i] >= '0' && hex[i] <= '9' )
  11. index = hex[i] - '0';
  12. else
  13. index = hex[i] - 'A' + 10;
  14. dec += index * base;
  15. base *= 16;
  16. }
  17. return dec;
  18. }
  19. // 16柳荐 沥荐甫 16柳荐 巩磊肺 函券矫挪促.
  20. static char _hexdectochar( char num )
  21. {
  22. if ( num < 10 )
  23. return num + '0';
  24. return (num - 10) + 'A';
  25. }
  26. void _dectohex( int dec, char *hex, int len )
  27. {
  28. int index = 0;
  29. while ( index < len )
  30. {
  31. hex[index++] = _hexdectochar( dec % 16 );
  32. dec = dec / 16;
  33. if ( dec == 1 )
  34. {
  35. if ( index < len )
  36. hex[index++] = _hexdectochar( dec );
  37. break;
  38. }
  39. else if ( dec == 0 )
  40. {
  41. if ( index < len )
  42. hex[index++] = '0';
  43. break;
  44. }
  45. }
  46. // 芭操肺 历厘等 16柳荐 巩磊凯阑 第笼绰促.
  47. for ( int i = 0; i < index / 2; i++ )
  48. _swap( hex[i], hex[index - i - 1] );
  49. }