首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >C语言中从任意基到任意基的基转换(最多36)

C语言中从任意基到任意基的基转换(最多36)
EN

Stack Overflow用户
提问于 2014-03-25 15:11:36
回答 1查看 5.4K关注 0票数 0

我在c中寻找一个基数转换函数,可以进行从基数2到36的转换,包括带有字符A-Z的基数。

就目前而言,我只是在网络上找到了处理基数2、10和十六进制的函数,而且有点有限。

EN

回答 1

Stack Overflow用户

发布于 2014-03-25 15:29:50

对于这个项目,理解bases是如何工作的可能会有所帮助。在任何情况下,让我们通过一个过程来了解如何转换为,比如说,基数12。这应该是最简单的实现方法。

首先,我们有十进制数,因为这是一个很容易开始的地方。假设,我不知道,1452是我们的号码。我们还需要一个字符数组来表示每个字符是什么,因为这比直接的ASCII转换要容易得多,在ASCII转换中,数字字符和字母字符是分开的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int dec=1452;
int toBase=12;
char outputs[36]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}

在那之后,我们可能只会将结果输出到另一个库中--以多种方式存储它是没有意义的,并且只将一个库转换为任何其他给定的库,从而使转换过程变得更简单。我们可以将结果存储在字符数组中,但同样,我们已经存储了数字-没有点。

对于我将要描述的这个方法,我们需要一个buffer变量来跟踪我们的数字,因为我们转换了它的一部分。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int buf=dec;

接下来,我们将开始计算基数中的空格,12,看看每个空格的值是多少。我们将继续,直到我们通过我们的数字,然后回溯一。我们还需要将for循环所占用的空间从该空间保存到稍后的第一个空间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int space=0;
while(Math.pow(toBase,space))<buf){
  space++;
}//Braces added for clarity
space--;

现在,这是主计算循环,我们将在其中输出结果。同样,原始数字仍然存储在“dec”中,所以我们根本不需要担心数据丢失或更改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int i;
for(i=space;i>=0;i--){//We have set up the for loop to check each space as we progress
  int modResult=buf%Math.pow(toBase,i);//Gets the number that goes in this space of the resulting base number
  buf-=modResult*Math.pow(toBase,i);//We have that, so take it out of the number
  printf("%c",outputs[modResult]);
}

由于我们这样做,从顶部空间到底部,modResult永远不会高于我们的基数所能达到的最高数值。这样,您的程序将向控制台输出结果数字。此外,请记住,这只输出数字-出于存储和计算的目的,使用使用基数为10的内置函数要简单得多。此外,请注意toBase变量永远不会超过36。

作为进一步的说明,我从右到左对数字(空格)进行了编号,从零开始,因为最右边的空格是1,用你的基数的零次方来表示。希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22638677

复制
相关文章
正交基
一、正交向量组的概念与求法 1、正交的概念 如果向量, 则称两个向量正交,零向量与任何向量正交。 2、正交向量组概念 若一非零向量组中的向量两两正交,则称该向量组为正交向量组。 3、正交向量组的性
用户1733462
2018/06/01
1.8K0
[2019HDU多校第一场][HDU 6579][B. Operation] 线性基
l = (l^las)%n+1. r = (r^las)%n+1. if(l>r)swap(l,r); x = x^las 。
用户2965768
2019/08/01
5550
C++虚基类
如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。C++提供虚基类的方法,使得在继承间接共同基类时只保留一份成员。
卡尔曼和玻尔兹曼谁曼
2019/01/25
1.1K0
C++虚基类
点论 | 很基很基的基本点
通常,在同步设计中,combinational loop 跟latch 是两个要尽量避免的东西。但在设计初始阶段或在一些特殊设计中,combinational loop 是不可别避免的,比如随机数生成器。那如何处理combinational loop 呢?
老秃胖驴
2019/05/30
1.9K0
【运筹学】线性规划 单纯形法 ( 基矩阵 | 基变量 | 非基矩阵 | 非基变量 | 矩阵分块形式 | 逆矩阵 | 基解 | 基可行解 )
: 确定一个基矩阵 , 剩下的列向量就是 非基向量 , 这些非基向量 组成 非基矩阵
韩曙亮
2023/03/27
1.5K0
浅谈线性基
你只要知道:线性基是由一个数的集合构造出来的另一个数的集合,并且满足一些性质,使其能解决有关异或的一些题目。
yzxoi
2022/09/19
6030
git变基
我们已经使用过git的合并(merge)功能,与之功能类似的是rebase(变基)。 开始前请记住:不要对在你的仓库外有副本的分支进行变基。 变基的实质是丢弃一些现有的提交,并且新建一些内容一样但实际
mwangblog
2018/07/04
4400
C#WinForm线程基类
在CS模式开发中一般我们需要用到大量的线程来处理比较耗时的操作,以防止界面假死带来不好的体验效果,下面我将我定义的线程基类给大家参考下,如有问题欢迎指正。
冰封一夏
2019/09/11
8550
C++中虚基类
如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。 C++提供虚基类(virtual base class)的方法,使得在继承间接共同基类时只保留一份成员。
卡尔曼和玻尔兹曼谁曼
2019/01/22
6480
C++中虚基类
【运筹学】线性规划数学模型 ( 线性规划求解 | 根据非基变量的解得到基变量解 | 基解 | 基可行解 | 可行基 )
在上一篇博客 【运筹学】线性规划数学模型 ( 求解基矩阵示例 | 矩阵的可逆性 | 线性规划表示为 基矩阵 基向量 非基矩阵 非基向量 形式 ) 中 , 将线性规划的等式表示为以下形式 :
韩曙亮
2023/03/28
1.1K0
【运筹学】线性规划数学模型 ( 线性规划求解 | 根据非基变量的解得到基变量解 | 基解 | 基可行解 | 可行基 )
基类View
在 Class-based views 源码解析 #1 中我们从宏观层面讨论了 Django 类视图的类继承结构以及命名规律。接下来我们要深入各个具体的类视图,探索其具体的代码实现。本节将分析 base.py 中最重要的的一个类,它也是所有类视图的基类 View 。 之前我们说过,尽管类视图看上去类的种类繁多,但每个类都是各司其职的,且从类的命名就可以很容易地看出这个类的功能。大致可分为如下三个大的功能块,分别由三个类提供对应的方法: 处理 HTTP 请求。根据 HTTP 请求方法的不同做出相应处理。例如同
追梦人物
2018/04/17
9110
桑基图
R语言里面主要用networkD3包的sankeynetwork()函数. 主要参数为:
生信编程日常
2020/04/01
1.5K0
桑基图
合理的基尼系数_基尼系数为1表示
基尼指数(Gini不纯度)表示在样本集合中一个随机选中的样本被分错的概率。 注意:Gini指数越小表示集合中被选中的样本被参错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。当集合中所有样本为一个类时,基尼指数为0.
全栈程序员站长
2022/11/04
6680
C#-筆記-基礎
/r/n win系統輸出的回車 Ctrl+k+d 快速對齊 Ctrl+k+c 快速注釋 Ctrl+k+u 快速取消注釋
用户9857551
2022/06/28
4870
C#-筆記-基礎
Redis —— 筑基
redis简介(REmote dIctionary Server 远程字典服务器):
IT技术小咖
2019/08/20
4800
MVC的基类
设计一个验证用户身份是否登陆的基类BaseController /// <summary> /// 所有需要进行登录控制的控制器基类 /// </summary> public class BaseController : Controller { /// <summary> /// 当前登录的用户属性 /// </summary> public UserInfo CurrentUserInfo { get;
欢醉
2018/01/22
7840
ffmpeg的时基
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的 typedef struct AVRational{     int num; ///< numerator     int den; ///< denominator } AVRational; AVRational这个结构标识一个分数,num为分数,den为分母。 实际上time_base的意思就是时间的刻度: 如(1,25),那么时间刻度就是1/25 (1,9000),那么时间刻度
_gongluck
2018/03/08
1.3K0
C# 终极基类Object介绍
一、简介 Object这个类型,相信everyone都不陌生,这个是CLR定义的最基础的类型,俗称"上帝类"。CLR(运行时)要求所有类型,不管是系统定义的类型还是自定义的类型,都必须从Object派生,所以以下代码从本质上是一样的,代码如下: /// <summary> /// 隐式派生自Object /// </summary> class Worker { } /// <summary> /// 显式派生自Object /// </summary> class Worker :
郑小超.
2018/01/26
1.1K0
【运筹学】线性规划问题的解 ( 可行解 | 可行域 | 最优解 | 秩的概念 | 极大线性无关组 | 向量秩 | 矩阵秩 | 基 | 基变量 | 非基变量 | 基解 | 基可行解 | 可行基 )
线性规划的解 : 满足约束条件 ② 和 ③ 有很多解 , 这些解中肯定有一个或多个解 , 使 ① 目标函数 有最大值 ;
韩曙亮
2023/03/27
2K0
【运筹学】线性规划问题的解 ( 可行解 | 可行域 | 最优解 | 秩的概念 | 极大线性无关组 | 向量秩 | 矩阵秩 | 基 | 基变量 | 非基变量 | 基解 | 基可行解 | 可行基 )
点击加载更多

相似问题

Python -家庭作业-将任意基转换为任意基

83

从给定基转换为任意基时得到错误的输出

112

如何在Java中将任意基转换为基10

44

任意基的VBA对数

13

Python:将基10转换为基36

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文