进制转换

转载 2004年07月17日 14:02:00

1.

./*
给定程序MODI1.C中函数 fun 的功能是: 将十进制正整数m转
换成k(2≤k≤9)进制数, 并按位输出。
例如,若输入 8 和 2 ,则应输出 1000 (即十进制数8转换成二
进制表示是1000)。
请改正 fun 函数中的错误,使它能得出正确的结果。
注意:不要改动 main 函数。不得增行或删行,也不得更改程
序的结构!
*/
#include
#include
void fun( int m, int k )
{
int aa[20], i;
for( i = 0; m; i++ )
{
/**********found**********/
aa[i] = m%k;
m /= k;
}
for( ; i; i-- )
/**********found**********/
printf( "%d", aa[ i-1 ] );
//printf( "%d", aa[ i ] );
}

main()
{
int b, n;
clrscr();
printf( "/nPlease enter a number and a base:/n" );
scanf( "%d %d", &n, &b );
fun( n, b );
printf("/n");
}

2.char result [33];
result[32] = '/0';
for (int i = 0, j = 1; i < 33; i++)
{
 result[32 - i - 1] = (nSource & j) ? '1' : '0';
 j = j << 1;
}

3.unsigned char BtoH(char ch)//将16进制的一个字符转换为十进制的数
{
//0-9
if (ch >= '0' && ch <= '9')
return (ch - '0');

//9-15
if (ch >= 'A' && ch <= 'F')
return (ch - 'A' + 0xA);

//9-15
if (ch >= 'a' && ch <= 'f')
return (ch - 'a' + 0xA);
return(255);
}

可根据该函数改写。。
也可以用该函数转换16进制每个字符。然后相加得到10进制数,再用DecimalToBinary转换

4.//转换十进制为二进制
CString DecimalToBinary(CString strDecimal)
{
 int nDecimal = atoi(strDecimal.GetBuffer(0));
 int nYushu; //余数
 int nShang; //商
 CString strBinary = "";
 char buff[2];
 CString str = "";
 BOOL bContinue = TRUE;
 while(bContinue)
 {
  nYushu = nDecimal%2;
  nShang = nDecimal/2;
  sprintf(buff,"%d",nYushu);
  str = strBinary;
  strBinary.Format("%s%s",buff,str);
  nDecimal = nShang;
  if(nShang==0)
   bContinue = FALSE;
 }
 return strBinary;
}
或者
char str[100];
itoa(11, str, 2);//根据最后itoa最后一个参数设置进制,可把十进制转换为其他进制

C++实现——任意进制之间的转换

#include #include using namespace std; //任意进制之间的转换/** * s1 转换之前的数 * s2 转换之后的数 * d1 原进制数 * d2 需要转...
  • langmanqishizaijia
  • langmanqishizaijia
  • 2016年04月07日 17:11
  • 8667

java进制转换

一、进制 进制的由来:任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。 计算机为什么要采用二进制呢? 因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省...
  • qqhao01
  • qqhao01
  • 2013年09月15日 17:58
  • 1539

十进制与自定义任意进制转换代码

有时我们在使用十进制的时候,会有长度过长情况。如加密或传输的过程中,日期数据20141230 使用进制转换可以少好几位长度。 因此写了一个十进制与任意自定义进制转换的工具类,可以将十进制转换成任意进制...
  • yuquan0405
  • yuquan0405
  • 2015年04月29日 09:04
  • 2186

任意进制转换(转化器,算法,类)

介绍 此类库支持2(二进制)到36之间任意进制的转换。 类库提供了一些常见的转换(如二进制到十进制),也支持高级的转换(如20进制到5进制) 快速使用:内置转换器 Convert.BinToD...
  • goulei2010
  • goulei2010
  • 2016年12月08日 15:53
  • 685

进制转换,用栈实现

今天看数据结构中的栈解决进制转换的问题,实现了一下。
  • guang_jing
  • guang_jing
  • 2014年05月06日 11:25
  • 1894

关于C语言中进制问题以及简单的浅谈进制转化问题。

对于一般学习中,最常见的就是4种,二进制,八进制,十进制以及十六进制。在大一的C语言学习当中,学校粗略的说了一下这些,最后导致好多人无法流畅的进行进制之间的转化,以及使用。在大一接触单片机以后更加发进...
  • qq_26768741
  • qq_26768741
  • 2016年02月05日 10:52
  • 1660

十进制与二进制相互转换(包括带小数点.各类进制转换公式)

首先从进位制,来讨论 十进制 0-1-2-3-4-5-6-7-8-9例如: 365.32(十进制) 小数点左等于   3*10^2+6*10^1+5*10^0 右边等于   3*...
  • CrazysPopcorn_qian
  • CrazysPopcorn_qian
  • 2016年11月07日 15:52
  • 4584

Java基本语法-----java进制的转换

进制: 进制是一种记数方式 ,可以用有限的数字符号代表所有的数值。由特定的数值组成。 1整型的表现形式 1.十进制: 都是以0-9这九个数字组成,不能以0开头。 2.二进制: 由0和1两...
  • duruiqi_fx
  • duruiqi_fx
  • 2016年07月21日 00:06
  • 9499

任意进制转换(c++)

#include #include #include using namespace std; int main() //任意进制转换为10进制 { char q[100];//定义q为...
  • AB2CM
  • AB2CM
  • 2016年12月10日 17:02
  • 2162

数据结构示例之十进制转换其他进制

以下为“十进制数转换为其他进制数”的示例: 1. 用c语言实现的版本 #include #include #define StackSize 100 /* 假定预分配的栈空间最多为100个元...
  • chinawangfei
  • chinawangfei
  • 2016年10月29日 14:58
  • 602
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:进制转换
举报原因:
原因补充:

(最多只允许输入30个字)