[C/C++]整数进制转换(代码+原理+总结)

本文详细介绍了如何进行整数的进制转换,包括其他进制转十进制和十进制转其他进制的原理及代码实现。通过位移和运算操作,实现了不同进制之间的转换,并在C/C++中进行了实践。
摘要由CSDN通过智能技术生成

(1)其他进制转换为十进制

原理

P进制x上的每一个位对十进制而言表达的含义都不同
从右到左,各表示个位,P位,P2位,…,Pn
例如:
十进制123

3表个位,2表十位,1表百位

八进制123

3表个位,28位,164

二进制101

1表个位,02位,14位(从右到左)

所以
P进制x=d1d2…dn
换个形式x = d1*Pn-1 + d2*Pn-2 +…+ dn-1*P + dn
在使用十进制的乘法和加法后,x就转换成十进制数了

代码

1.用十进制数储存r进制数x
只能从右往左操作位数

int rToTen(int n,int r){
   
	//将r进制转为10进制,n是该r进制的十进制int表示
	int ans=0;//存放结果
	product=1;//存放位数的十进制含义,一开始表示1
	while(n){
   //n=0时退出循环
		ans 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值