void transfer(int A[], int *c, int n, int b)
{
int i = 0
while(n>0)
{
A[i++] = n % b
n /= b
}
*c = i
}
int main()
{
int 行烂a[32],c,n,b
printf("输入整数和要转换为的进制:")
scanf("%d %d",&n,&b)
if( n<0 || 枣郑b>9 || b< 2)
{
printf("数档岩漏据非法。")
return 0
}
transfer(a,&c,n,b)
printf("结果为:")
while(--c >= 0)
{
printf("%d",a[c])
}
return 0
}
常用的进制二进制、八进制皮凯、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是常用的0-9是逢10进一位。具体 *** 作如下:
1、点击左下角---计算机。
2、点击计算器之后d出一个计算器的标准模板。
3、然后点击左上角的一个菜单选项,d出程序员的字样。
4、点击就可以进入到进制转换的地方了。
5、这里随便输入一个数字就可以看到相应的燃手唤进制位数显示了。
6、除此之外计算器还可以实现多种功能。
注意事项1、0、1这两种状态,代表开关状态,高低电薯铅平的转换,逻辑电路与非门、真或假等等。
2、量子计算机中,量子纠缠对的状态,一个为0,则另一个是1,也是二进制。
在这里献丑了!1.将你输入的数通过字符串的方式存储是方便一下的计算的
正如你举得例子,输入137 数组中存入的是 字符型的137 要将
里面的每个字符型的数字转换成数值型的数字就得 *p-'0',因为
字符存储时实际存储的是字符的ASC码, 例如 输入 1(字符型)ASCII码为
49 若不减去0的ASC码 就会以49去参加运算哪简
这个while循环是用于数制转换的.将八进制转换成10进制,其实就是将8进制数码按权展开,137=1*8^2+3*8^1+7*8^0
2这个while就是这个用处,一步一步看下去,加入输入为137存储为字符137
第一次芹缓握是将字符型的1减去0的asc码就得到了数值型的1 1本来是最高位应该是但是这里得到的只有系数(姑且叫做系数吧而权为8^0=1),由于后面还有两个数,这样通过循环n=n*8+*p-'0'将1的权值提升到了8^2,对第二位也类嫌庆似.
3.要进行浮点数的进制转换就得找准小数点的位置.然后按照类似的方法就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)