首页
论坛
课程
招聘
[原创分享]VC++进制转换程序
2010-2-21 01:10 4474

[原创分享]VC++进制转换程序

2010-2-21 01:10
4474
/*****************************************************************************
     
file name	: data_exchange.h
author		: succeswing  
date		: 2010.1.1
description	: the profil is BinaryConversion
Noticed		: should be complied with VC6.0 
version		: 1.0
E-mail		: succeswing#gmail.com(the # is @)
		
	
******************************************************************************/

#include <string>
#include <cmath> 
#include <stdlib.h>

CString BinToDec(CString strbin)
{
  int len;
  int i;
  long dec;
  CString strdec;
  dec=0;
  len=strbin.GetLength();
  for(i=0;i<len;i++)
  {
    if(strbin[len-i-1]!='0')
	{
	  dec=dec+pow(2,i);  
	}
  }
  strdec.Format("%d",dec);
  return strdec;  
}

CString DecToBin(CString strdec)
{
    int dec;
	CString strbin;
    dec=atoi(strdec);
   while(dec!=0)
   {
    if(dec%2)
    {
	  dec=dec/2;
	  strbin.Insert(0,"1");
    }
	else
	{
	  dec=dec/2;
	  strbin.Insert(0,"0");
	}
   }
   strbin.Insert(0,"0");
   return strbin;
}

CString DecToHex(CString strdec)
{CString strhex;
 int dec;
 dec=atoi(strdec);
 strhex.Format("%x",dec);
 return strhex;
}

CString HexToDec(CString strhex)
{CString strdec;
 DWORD hex;
  hex=strtoul(strhex, NULL, 16);
  strdec.Format("%d",hex);
  return strdec; 
}

CString BinToHex(CString strbin)
{ CString strhex;
  strhex=DecToHex(BinToDec(strbin));   
  return strhex;
}

CString HexToBin(CString strhex)
{
   CString strbin;
   strbin=DecToBin(HexToDec(strhex));
   return strbin;
}

程序在十进制转换到十六进制时,如果数值很大,不能实现,希望大家帮忙指点。。。敬请大家拍砖

[公告]请完善个人简历信息,好工作来找你!

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 48
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
notmorw 活跃值 2010-2-21 09:32
2
0
如果数值很大,不能实现

多大,是不是超出int能表达的范围了吧
雪    币: 285
活跃值: 活跃值 (86)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 活跃值 14 2010-2-21 10:28
3
0
那你就用大数运算库啊    Google一下  n多!
雪    币: 68
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
splitpants 活跃值 2010-2-21 19:32
4
0
大了可以用数组。。
雪    币: 52
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
safari 活跃值 2010-2-21 23:33
5
0
把数组类型重新定义可不可以提高大数字的转换呢
雪    币: 211
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
succeswing 活跃值 2010-2-25 04:38
6
0
谢谢大家了。。。
雪    币: 231
活跃值: 活跃值 (11)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
davidfoxhu 活跃值 1 2010-2-28 07:57
7
0
atoi 和 pow这些c库函数在你这个里面最好不要用吧,不然就没多大意思了!!!
游客
登录 | 注册 方可回帖
返回