如何用C语言实现十进制到十六进制的转换器

2023-12-22

所以我是 C 的绝对初学者,我必须制作一个十进制到十六进制的转换器。

所以我想我需要创建一个循环,直到结果为 0。

但我怎样才能让它记住所有剩余的内容呢?该数字将使用 scanf 输入,因此我无法为其定制代码。

现在我想做这样的事情

while(number(n)!=0)
{
    number0 / 16 = number1
    number0 % 16 = remainder0
    number1 / 16 = number2
    number1 % 16 = remainder1
    .....
    number(n-1) / 16 = 0
    number(n-1) % 16 = lastremainder
}

hex = lastremainder, ..., remainder2, remainder1, remainder0

但是如何让程序在循环期间创建变量呢?我必须使用完全不同的方法吗?我查看了其他十进制到十六进制转换器,但不太了解它们是如何工作的。

就像我说的,我是一个绝对的初学者,如果这个问题很愚蠢,我很抱歉。

感谢您的答复。那么数组可以解决我的问题吗?我现在还不完全理解它们,但感谢您指出正确的方向。


我只想用sprintf, 说实话:

char hex[10];
sprintf(&hex, "%x", INT_MAX);//INT_MAX macro requires limits.h, though...
printf("%s\n", hex);//prints 7fffffff

任务完成...
完整地说,您的代码可能类似于:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char hex[10];
    int input;
    scanf("%d", &input);
    sprintf(&hex, "%x", input);
    printf("The number %d, turned to hexadecimal is: %s\n", input, hex);
    return 0;
}

Or even:

    int input;
    scanf("%d", &input);
    printf("The number %d, turned to hexadecimal is: %x\n", input, input);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用C语言实现十进制到十六进制的转换器 的相关文章

  • c# - 显示小数点到小数点后 6 位 [重复]

    这个问题在这里已经有答案了 可能的重复 具有 N 个小数位的 Double ToString https stackoverflow com questions 3059759 double tostring with n number o
  • 如何将不记名令牌发送到 ASP NET MVC 5 中的视图?

    我有一个 NET MVC and WEB API项目 我想打电话给WEB API controllers来自 javascript 但我没有找到将令牌发送到我的视图的方法 我想添加bearer token in Viewbag变量 使用以下
  • 如何通知父线程所有子线程都已终止?

    我有一个控制台应用程序正在移植到 WPF 该应用程序有 3 个工作线程 在将一些输出结果打印到屏幕上之前 这些线程都连接到主线程 我的理解是 如果我尝试在 WPF 应用程序中执行相同的操作 GUI 将被阻止并且不会响应用户 那么如何通知父线
  • C++ 和序列化:有什么方法可以进行某种内省吗?

    我读过一些例子维基百科 http en wikipedia org wiki Type introspection C 2B 2B但我正在寻找一些现实生活中的例子 如何使用内省 为什么 它有助于编写干净的代码 以及代码本身 例如 有没有办法
  • 可变数量的(常量)引用参数

    我试图从我的高级代码 使用 C 11 中消除原始指针 并且我找到了引用 尤其是const 在许多情况下 当没有所有权转移时 是一个很好的替代品 但如果有的话该怎么办variable我想通过 常量 引用传递的参数数量 你不能创建一个std v
  • 计算复杂数组的abs()值的最快方法

    我想计算 C 或 C 中复杂数组元素的绝对值 最简单的方法是 for int i 0 i lt N i b i cabs a i 但对于大向量来说 速度会很慢 有没有办法加快速度 例如使用并行化 语言可以是 C 或 C 鉴于所有循环迭代都是
  • 我要恢复我的记忆!我怎样才能真正处理一个控件?

    我正在制作一个应用程序 它创建大量的窗口控件 按钮和标签等 它们都是通过函数动态生成的 我遇到的问题是 当我删除控件并处置它们时 它们不会从内存中删除 void loadALoadOfStuff while tabControlToClea
  • 函数指针上的未知类型 F TYPE

    include
  • ASP.NET中如何访问除wwwroot以外的位置

    我可以使用访问服务器的物理位置Server MapPath 这给了我内部的物理路径wwwroot文件夹 我想将一些数据保存到同一服务器的另一个驱动器中D 驾驶 我想我无法获取以下位置的物理位置D 驾驶使用Server MapPath因为它位
  • 三种 System.Drawing 方法表现出缓慢的绘制或闪烁:解决方案?或其他选择?

    我正在通过 System Drawing 进行一些绘图 但遇到了一些问题 我将数据保存在队列中 并将该数据绘制 绘制 到三个图片框中 此方法填充图片框 然后滚动图形 所以不要在以前的绘图上绘制 并且逐渐看起来更混乱 我找到了两种绘制图表的解
  • C++:LPWSTR 在 cout 中打印为地址

    我有一个类型变量LPTSTR 我打印到std cout with lt lt 在 ANSI 系统中 不知道它是在哪里确定的 它工作得很好 它打印了字符串 现在 在 Unicode 系统中 我得到的是十六进制地址而不是字符串 那么 为什么LP
  • 从视图模型调用方法的命令

    好吧 我倾向于避免使用命令 因为它们总是让我感到困惑 但我正在进行一个新项目 并且正在尝试正确构建它 并且在我看来没有任何代码隐藏 基本上我现在想做的就是连接一个按钮来触发一个命令 在我的视图模型上执行一些操作 但不知何故 如此简单的事情仍
  • 为什么必须通过 this 指针访问模板基类成员?

    如果下面的类不是模板 我可以简单地拥有x in the derived班级 但是 通过下面的代码 我have to use this gt x Why template
  • 使用 _Alignas 进行结构成员对齐

    我想知道以下问题 是新的吗 Alignas结盟 C11 中的说明符适用于结构成员吗 我一直假设这么多 但彻底阅读了 N1570 公开草案似乎表明对齐说明符不能 出现在一个说明符限定符列表 这就是我所期望的 如果得到支持的话 我已经读过几遍语
  • 如何在asp.net core 6中注入IConfiguration

    web api 应用程序中不再有 Startup cs 我们以前可以注入IConfiguration进入那个Startup class public class Startup public Startup IConfiguration c
  • 返回 ICollection 而不是 List 的真正优势是什么? [复制]

    这个问题在这里已经有答案了 我读过几篇博客文章 提到对于公共 API 我们应该始终返回 ICollection 或 IEnumerable 而不是 List 返回 ICollection 而不是 List 的真正优势是什么 Thanks 复
  • C# 3.0 中自动属性和公共字段的区别

    我无法理解为什么 C 3 0 中存在自动实现的属性语言功能 当你说的时候有什么区别 public string FirstName than public string FirstName get set 因为它们在生成的 IL 代码 和机
  • 在Framework 4.6项目中使用.net core DLL

    我已经在 net core 2 0 中构建了一个 DLL 现在我想在使用 net 4 6 1 框架的 WinForms 项目中使用它 我可以引用该 dll 但收到 System IO FileLoadException 表示找不到 Syst
  • 使用 MVC5、Ajax、C# 和 MSSQL Server 级联 DropdownList

    我对来自 Windows 窗体和三层架构的 MVC 非常陌生 我试图找出使用从数据库填充的级联下拉列表 DDL 我使用 MS SQL Server 2012 VS 2013 目前我正在研究用户调查问卷 用户可以从 DDL 的多个答案中进行选
  • char[length]初始化并处理

    我定义了一个字符数组 char d 6 如果我在以下方面有误 请纠正我 此时没有为变量分配内存d 现在我要初始化它 d aaaaa 这种初始化之后 就不需要释放内存了 它将自动完成 我怎么知道是否char 被初始化了吗 我正在寻找类似的模式

随机推荐

  • 打印所有层的输出

    给定以下模型 如何打印所有层值 const input tf input shape 5 const denseLayer1 tf layers dense units 10 activation relu const denseLayer
  • 为什么“Foo f(Bar());”可以是采用 Bar 类型并返回 Foo 类型的函数的声明吗? [复制]

    这个问题在这里已经有答案了 我遇到了这个C 问题 问题 以下是定义还是声明 Foo f Bar 答案 它可能是一个采用 Bar 类型并返回 Foo 类型的函数的声明 或者它是一个定义f作为一种类型Foo 它有一个采用 Bar 类型的构造函数
  • 汇编代码生成如何工作?

    我最近一直在研究编译器设计 我已经成功地掌握了解析阶段 但在理解代码生成的工作原理方面遇到了一些困难 根据我的阅读 代码生成阶段似乎有 3 个主要步骤 指令选择 贪婪平铺 指令调度 寄存器分配 现在 指令调度有点超出了我目前正在尝试做的事情
  • Android使用TextWatcher替换单词

    我有一个editText 你在里面写了一些东西 然后当你点击下一步时 你写的文本被写入另一个editText中 它运行完美 但我想用textWatcher来替换一些字母 示例 如何使 S 变为 或 O 为 UPDATE final Edit
  • 会话和子域

    我一直在尝试让我的会话在我的子域上运行 我很确定我在周一可以工作 但在周二添加一些代码后 周三就无法工作了 我已经使用了代码ini set session cookie domain domain where domain example
  • 如何更改comboBox.SelectedIndexChanged 事件中的comboBox.Text?

    代码示例 private void comboBox SelectedIndexChanged object sender EventArgs e if some condition comboBox Text new string 我的问
  • 查询 django 迁移表

    如何从视图中查询 django migrations 表 例如 我已经尝试过 当然不起作用 from django db import migrations latest migration migrations objects all o
  • 禁用单个 .NET Core API 操作的模型验证

    我有一个 API 控制器 用于在我正在开发的应用程序上执行自动保存 它使用与视图相同的视图模型 其中有许多必填字段 如果用户在保存表单时未填写表单 则自动保存控制器可能需要保存不被视为有效的模型 默认情况下 NET Core 控制器声明为
  • 以一定角度在 Canvas 中绘制图像,无需旋转 Canvas

    我正在使用 JavaScript 中的画布在 HTML 5 中绘制图像 我需要以旋转角度绘制它 我知道这可以通过使用画布上下文应用旋转 角度 函数来完成 但我需要这样做不旋转画布本身 如果可能的话 请建议可能的方法 实际上 您可以将想要旋转
  • Android - 围绕中心点旋转图像?

    当用户触摸并拖动位图 不是视图或画布 时 如何围绕其中心点旋转位图 我已经尝试了很多有关堆栈溢出的示例 但似乎都不起作用 到目前为止我有 double r Math atan2 posX dial getWidth 2 dial getHe
  • SQLAlchemy:如何根据其后端有条件地选择列的类型

    我想用HSTORE http docs sqlalchemy org en rel 0 8 dialects postgresql html sqlalchemy dialects postgresql HSTORE如果列使用 Postgr
  • Android 更新 ui 线程元素 - 最佳实践?

    我有一个应用程序可以显示一些测量值 例如温度 速度等 我想或多或少地坚持 MVC 模式 所以我得到了一些东西 可以在值出现时接收它们 从蓝牙组件 并将它们排序到特殊的值处理程序 这些应该计算东西等等 来自地理坐标的速度等等 并将值传递给视图
  • 使用 C# 获取以毫秒为单位的时间

    我正在编写一个程序 需要以毫秒为单位获取时间 我所说的时间 是指一个永远不等于自身的数字 并且总是比前一秒大 1000 个数字 我尝试过转换DateTime Now to a TimeSpan并得到TotalMilliseconds据此 但
  • Chart.js 中多个图表上的工具提示显示错误的值

    我正在使用最新的 Chart bundle js 在同一页面上创建多个堆叠条形图 例如 我有 3 个图表和 2 个数据集 图表是正确的 但每个图表上的工具提示始终相同并且显示错误的值 截图链接 https i stack imgur com
  • PHP 中的提醒系统

    我将在周末用 PHP 创建一个小型提醒系统 计划是 用户注册 用户使用简单的表单创建提醒和待办事项 输入提醒名称 描述和时间等详细信息 该信息存储在 MySQL 数据库中 脚本检查数据库中是否有应发送的提醒 并将它们发送到用户的电子邮件以及
  • 使用Oracle序列将日志id从jdbc插入到2个表中?

    我正在使用 oracle 序列将日志 id 插入到 tableA 中 如下所示 String SQL PREP INSERT INSERT INTO tableA LOG ID USER ID EXEC TIME VALUES logid
  • Powershell计划任务在启动时重复

    我正在尝试使用以下触发器创建计划任务 启动 每 5 分钟运行一次 无限期运行 在 GUI 中 我可以通过选择以下内容轻松完成此操作 开始任务 启动时在 高级 选项卡中 重复任务间隔 5 分钟 持续时间 无限期 但我在使用 Powershel
  • 不支持 IE9 border-radius 简写?

    我过去做过一些具有 border radius 属性的东西 如下所示 border radius 7px 这在 IE9 中不起作用 我以为IE9应该支持border radius 如果您需要示例 请参阅这个网站 http www accou
  • ArrayList迭代相同的数据

    我尝试以 MVC 模式创建一个 Web 应用程序来显示数据库中的数据 JSP
  • 如何用C语言实现十进制到十六进制的转换器

    所以我是 C 的绝对初学者 我必须制作一个十进制到十六进制的转换器 所以我想我需要创建一个循环 直到结果为 0 但我怎样才能让它记住所有剩余的内容呢 该数字将使用 scanf 输入 因此我无法为其定制代码 现在我想做这样的事情 while