【数学&代码】进制转换详解
创作时间:
作者:
@小白创作中心
【数学&代码】进制转换详解
引用
CSDN
1.
https://blog.csdn.net/yangyanbin_sam/article/details/140051147
进制转换是计算机科学和数学中的一个基础话题,涉及到不同数制之间的相互转换。本文将详细介绍十进制与k进制之间的转换方法,包括数学原理和C++代码实现。
最常见的几种进制有:二进制、八进制、十进制、十六进制。
1. 十进制转k进制
十进制转k进制十分常用,方法:除k取余法(整数)和乘k取整法(小数)。
先看例子(用n(k)表示k进制数n):
将56(10)转换成二进制数。
利用短除法,再将余数由下至上排列,得出56(10)=111000(2)。
以上是整数的进制转换,小数的如下:
将小数部分乘k,得到整数部分,一直乘到小数部分为0,再按从上至下排列。
接下来就是用程序实现。
这里用一个自定义函数:
string jin_zhi_zhuan_huan(int n,int k)//将十进制数n转换成k进制。
{
}
然后,由于要除到这个数变成0,要用while()循环。定义一个变量:a(n转换后的数),由于0难以保存,所以要用字符串。
string jin_zhi_zhuan_huan(int n,int k)//将十进制数n转换成k进制。
{
string a;
while(n)//n不等于0。
{
}
}
然后就开始处理:
string jin_zhi_zhuan_huan(int n,int k)//将十进制数n转换成k进制。
{
string a;
while(n)//n不等于0。
{
a+=n%k+'0';
n=n/k;
}
}
由于出来的a是由上至下顺序的,所以还要转变顺序
string jin_zhi_zhuan_huan(int n,int k)//将十进制数n转换成k进制。
{
string a;
while(n)//n不等于0。
{
a+=n%k+'0';
n=n/k;
}
string s;
int l=a.size();
for(int i=l-1;i>=0;i--)
{
s+=a[i];
}
return s;
}
完整代码:
#include<bits/stdc++.h>
using namespace std;
string jin_zhi_zhuan_huan(int n,int k)//将十进制数n转换成k进制。
{
string a;
while(n)//n不等于0。
{
a+=n%k+'0';
n=n/k;
}
string s;
int l=a.size();
for(int i=l-1;i>=0;i--)
{
s+=a[i];
}
return s;
}
int main()
{
int n,k;
cin>>n>>k;
cout<<jin_zhi_zhuan_huan(n,k);
return 0;
}
2. k进制转十进制
乘k的n次方,如下:
123(5)=1×5×5 +2×5 +3×1=25+10+3=38(10)
代码:
#include<bits/stdc++.h>
using namespace std;
int jin_zhi_zhuan_huan(int n,int k)//将k进制数n转换成十进制。
{
int a=1,s=0;
while(n)
{
s+=n%10*a;
a=a*k;
n=n/10;
}
return s;
}
int main()
{
int n,k;
cin>>n>>k;
cout<<jin_zhi_zhuan_huan(n,k);
return 0;
}
对于n进制转m进制的问题,可以采用两步转换法:首先将n进制转换为十进制,然后再将十进制转换为m进制。虽然这种方法不是最高效的,但对于初学者来说易于理解和实现。
热门推荐
毛坯房交房注意事项及优点解析
如何提升决策能力
服务器公网无法访问怎么办?常见问题及解决方法详解
快速理解局域网查看工具原理,小白也能看懂
如何使用簡單的方法提高電動車的續航里程
文丘里效应:一种重要的流量测量方法
兽医如何提升社交媒体影响力:实用指南
什么是重编程
交警小课堂:正确佩戴安全头盔,安全出行从“头”做起!
直播管理究竟涉及哪些具体方面?
民间借贷债权转让大揭秘
如何合法有效地通知客户关于债权转让的事宜
孕妇要知道的事情
工厂验收实验FAT检查清单详解:确保设备符合项目规格和要求
加快下沉优质医疗资源,提升基层医疗服务水平!三明让百姓更有“医”靠
如何根据图形设计需求选择合适的处理器?
迪拜热门景点全攻略:从哈利法塔到棕榈岛
CA19-9高多少才危险
三维建模及动画制作的学习心得
六扇门:中国古代的神秘组织
如何增大食欲却不造成肥胖
电脑主板亮红灯是怎么回事?如何修复主板上的红灯错误?
非功能需求管理是指什么
过敏性鼻炎如何判断是哪种过敏
一个VPS(独立ip)如何实现多ip
遇到骚扰电话如何处理:法律应对策略与实务指南
如何应对自己手机号码被轰炸呢?UP主一个文章教会你如何经济和合法得维护自己权益。
巡天:天文望远镜观测宇宙之路
阿尔茨海默病与脑部淋巴系统到底有没有关系?
活性炭口罩的作用和功效 活性炭口罩可以防二手烟吗