Chinaunix首页 | 论坛 | 博客
  • 博客访问: 447682
  • 博文数量: 120
  • 博客积分: 3370
  • 博客等级: 中校
  • 技术积分: 1331
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-17 19:41
个人简介

Just a blog

文章分类

全部博文(120)

文章存档

2017年(1)

2015年(1)

2014年(7)

2013年(12)

2012年(21)

2011年(57)

2010年(21)

分类: C/C++

2012-03-26 13:43:21

1. 2 进制 -----> 10 进制

  CString BinToDec(CString strBin)

  {

  CString strDec;

  long nDec = 0, nLen;

  int i, j, k;

  nLen = strBin.GetLength();

  for (i=0; i

  {

  if ( strBin[nLen-i-1] == '0' )

  continue;

  else

  {

  k = 1;

  for(j=0; j

  k = k * 2;

  nDec += k;

  }

  }

  strDec.Format("%ld", nDec);

  return strDec;

  }

  2. 10 进制 -----> 2 进制

  CString DecToBin(CString strDec)

  {

  int nDec = atoi(strDec);

  int nYushu, nShang;

  CString strBin = _T(""), strTemp;

  TCHAR buf[2];

  BOOL bContinue = TRUE;

  while ( bContinue )

  {

  nYushu = nDec % 2;

  nShang = nDec / 2;

  sprintf(buf, "%d", nYushu);

  strTemp = strBin;

  strBin.Format("%s%s", buf, strTemp);

  nDec = nShang;

  if ( nShang == 0 )

  bContinue = FALSE;

  }

  int nTemp = strBin.GetLength()%4;

  switch(nTemp)

  {

  case 1:

  strTemp.Format(_T("000%s"), strBin);

  strBin = strTemp;

  break;

  case 2:

  strTemp.Format(_T("00%s"), strBin);

  strBin = strTemp;

  break;

  case 3:

  strTemp.Format(_T("0%s"), strBin);

  strBin = strTemp;

  break;

  default:

  break;

  }

  return strBin;

  }

  3. 2进制 -----> 16进制

  2进制先转换为10进制,再转换为16进制

  CString strDec, strBin, strHex;

  strBin = _T("1110");

  strDec = BinToDec(strBin);

  int nDec;

  nDec = atol(strDec);

  strHex.Format(_T("%x"), nDec);

  4. 10 进制 -----> 16 进制

  int nDec = 10;

  CString str;

  str.Fomat(_T("%x"), nDec);

  5. 16 进制 -----> 10 进制

  CString strDec, strHex;

  strHex = _T("af");

  DWORD dwHex = strtoul(strHex, NULL, 16);

  strDec.Format(_T("%ld"), dwHex);

  6. 16 进制 -----> 2 进制

  16进制先转换为10进制,再转换为2进制

  CString strDec, strBin, strHex;

  strHex = _T("af");

  DWORD dwHex = strtoul(strHex, NULL, 16);

  strDec.Format(_T("%ld"), dwHex);

  strBin = DecToBin(strDec);

 

阅读(8851) | 评论(0) | 转发(0) |
0

上一篇:MFC Dialog消息调用顺序

下一篇:正态分布

给主人留下些什么吧!~~