《算法笔记》系列----进制转换(q进制转十进制、十转q)

一、q进制转十进制

这个算法的核心就是变量product,我们先让product等于1代表这一位的大小,然后每一次都乘q,代表这一位的大小。

示例代码:

cpp 复制代码
int q,product,x;//假设这个x是一个q进制的数
int ans=0;
while(x){
  ans=ans+(x%10)*product;
   x=x/10; //x去掉一位
  product=product*q;  
}

二、十进制转q进制

我们要会这个算法,就要采用"除基取余法",下面来自算法笔记原话:

将十进制数y转换为Q进制数z。

采用"除基取余法"。所谓的"基",是指将要转换成的进制Q,因此除基取余的意思就是每次将待转换数除以Q,然后将得到的余数作为低位存储,而商则继续除以Q并进行上面的操作,最后当商为00时,将所有位从高到低输出就可以得到z。

结果存放于数组z将余数从后往前输出。

cpp 复制代码
int a[40],num=0,q;

do{
   a[num++]=y%q;
   y=y/q;
} whlile(y!=0);
相关推荐
我不会插花弄玉几秒前
vector【由浅入深-C++】
c++
兵哥工控1 分钟前
mfc静态文本控件背景及字体颜色设置实例
c++·mfc
import_random2 分钟前
[推荐]embedding嵌入表示是如何生成的(实战)
算法
chao1898444 分钟前
基于布谷鸟搜索算法的分布式电源多目标选址定容
算法
Xの哲學5 分钟前
Linux IPsec 深度解析: 架构, 原理与实战指南
linux·服务器·网络·算法·边缘计算
hqzing5 分钟前
C语言程序调用syscall的几种方式
linux·c++
Swift社区5 分钟前
LeetCode 455 - 分发饼干
算法·leetcode·职场和发展
会编程是什么感觉...5 分钟前
算法 - FOC
线性代数·算法·矩阵·无刷电机
老王熬夜敲代码6 分钟前
TCP相关问题的解决
linux·网络·笔记·网络协议
U-52184F6910 分钟前
【CGAL实战】深入理解二维受约束 Delaunay 网格生成
数据库·算法