c++ 二进制、八进制、十进制、十六进制相互转换

2023-11-20

itoa()和strtol()可以实现二进制、八进制、十进制、十六进制之间的相互转换,
包含在 #inculde < cstdlib >

1.十进制转换为其他进制

使用itoa(int dec,char str, int R),将十进制数dec转换为R进制的数存放到str数组中
参数:
dec:十进制整数
str :char 类型的字符串
R:进制

    int dec=10;//将整数10转换为2、8、16进制
    char bin[100];
    char oct[100];
    char hex[100];

    itoa(dec,bin,2);
    itoa(dec,oct,8);
    itoa(dec,hex,16);
    cout<<bin<<endl;
    cout<<oct<<endl;
    cout<<hex<<endl;
1010
12
a

2.将其他进制转换为十进制

使用strtol(char *str,char **stop, int R),将R进制数str转换为十进制数作为返回值
参数:
str:R进制字符串
stop :char 类型的字符串
R:进制

    char b[100]="111";//将二进制“111”转换为十进制
    char o[100]="17";//将八进制“17”转换为十进制
    char h[100]="A1";//将十六进制“A1”转换为十进制

    char *stop;//接收后面的非法字符

    int dec1 = strtol(b,&stop,2);
    int dec2 = strtol(o,&stop,8);
    int dec3 = strtol(h,&stop,16);
    cout<<dec1<<endl;
    cout<<dec2<<endl;
    cout<<dec3<<endl;
7
15
161
进制转换汇总表
十进制
二进制转换为 strtol(b,&stop,2)
八进制转换为 strtol(o,&stop,8)
十六进制转换为 strtol(h,&stop,16)
二进制 八进制 十六进制
十进制转换为 itoa(dec,bin,2) itoa(dec,oct,8) itoa(dec,hex,16)

详细的介绍可以参考下面两篇文章:

https://blog.csdn.net/lady_killer9/article/details/87904318
https://blog.csdn.net/vir_lee/article/details/80645066

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++ 二进制、八进制、十进制、十六进制相互转换 的相关文章

  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 如何避免情绪低落?

    我有一个实现状态模式每个状态处理从事件队列获取的事件 根据State因此类有一个纯虚方法void handleEvent const Event 事件继承基础Event类 但每个事件都包含其可以是不同类型的数据 例如 int string
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • BSC(币安智能链)主网链部署

    文章目录 一 BSC主链镜像生成 二 BSC主链容器生成 2 1 下载BSC主网配置文件 2 2 新建初始化创始区块文件脚本 2 3 本地写入创世状态 2 4 新建BSC链启动脚本 2 5 启动BSC主网链 三 查看BSC服务是否部署成功
  • 力扣hot100刷题记录

    二刷hot100 坚持每天打卡3道题 Today 2023 09 08 1 两数之和 先求差 再查哈希表 public int twoSum int nums int target Map
  • 计算机视觉笔记及资料整理(含图像分割、目标检测)

    前言 1 简单聊聊 在我脑海中我能通过这些年听到的技术名词来感受到技术的更新及趋势 这种技术发展有时候我觉得连关注的脚步都赶不上 简单回顾看看 从我能听到的技术名词来感受 最开始耳闻比较多 云计算 这玩意 后来听到比较多的是 数据挖掘 然而
  • osgEarth的Rex引擎原理分析(十四)分页瓦片加载器子节点的作用

    目标 十二 中的问题21 在rex引擎的setMap中创建了分页瓦片加载器子节点 osgEarthDrivers engine rex RexTerrainEngineNode cpp void RexTerrainEngineNode s
  • 完美解决:由于找不到MSVR100.dll ,无法继续执行代码

    当我们在运行某一个软件时 突然提示找不到MSVCR100 dll 我相信有不少用户都遇到过这种情况 并且在重新安装软件后还是无法解决 那么电脑提示找不到MSVCR100 dll该怎办呢 MSVCR100 dll是什么 在解决找不到MSVCR
  • 【Spring Boot】WebSocket 的 6 种集成方式

    介绍 由于前段时间我实现了一个库 Spring Cloud 一个配置注解实现 WebSocket 集群方案 以至于我对WebSocket的各种集成方式做了一些研究 目前我所了解到的就是下面这些了 就一个破ws都有这么多花里胡哨的集成方式了
  • Linux 中的$* $@特殊变量介绍

    1 代表输入的所有参数 但是看做一个整体 代表输入的所有参数 但是每个区分对待 PS 当 不被双引号括起来的时候 都以 1 2 n的形式输出所有参数 也就是说 当你使用这两个特殊变量的时候 如果不适用双引号括起来 这两个特殊变量的功能就没有
  • Linux alien命令

    一 简介 alien是一个用于在各种不同的Linux包格式相互转换的工具 其最常见的用法是将 rpm转换成 deb 或者反过来 二 安装 http toutiao com a6188997768449360129 三 实例 http www
  • sqlmap参数详解

    命令及详解 h 帮助 version 版本号 d 连接数据库 mysql root root 192 168 3 20 3306 db 数据库种类 账号 密码 地址 端口 库 current db 当前数据库 dbs 列出所有数据库 等于s
  • 软件测试是干什么的 1分钟带你快速了解清楚软测的工作性质

    近几年 国内软件测试行业迅猛发展 不少行外人都能经常听到某某软件测试岗位在高薪招聘消息 等 所以很多不了解情况的人就想要问了 软件测试到底是干什么的 什么样的人才能够当软件测试员 关于大家关心这两个问题 小编特做了如下回答 软件测试是干什么
  • Selenium RemoteWebDriver使用—让你的代码与测试分离(远程测试)

    目录 一 写在前面 二 RemoteWebDriver基本使用 2 1 配置环境 2 2 配置环境命令 2 3 代码示例 三 扩展使用 3 1 浏览器版本和平台参数 3 2 浏览器启动相关参数 一 写在前面 在学习Selenium基础的时候
  • 【实践篇】领域驱动设计:DDD工程参考架构

    背景 为什么要制定参考工程架构 不同团队落地DDD所采取的应用架构风格可能不同 并没有统一的 标准的DDD工程架构 有些团队可能遵循经典的DDD四层架构 或改进的DDD四层架构 有些团队可能综合考虑分层架构 整洁架构 六边形架构等多种架构风
  • Python 常用基础模块(四):sys模块

    目录 一 sys模块介绍 1 1 什么是 Python 解释器 说明 1 2 sys 模块的作用 二 常用方法及属性介绍 2 1 modules属性 将模块名称映射到已加载模块的字典 2 2 getdefaultencoding 方法 获取
  • YOGA 14s开机黑屏——试试提高亮度

    联想yoga 14s 开始动画是有的 但开机动画后就黑屏了 折腾了半天 按下亮度增大键后屏幕亮了 好像联想笔记本比较支持亮度最低即为0
  • 一周简报(项目尾声)

    XX海油项目已经进入尾声 大部分的工作都已经完成 目前我们所做的就是完善系统中的Bug 以及面对客户提出的某些部分的需求变更 由于形式所迫 我们的战斗由 城市 转入 农村 由 地上 转入 地下 由 阵地战 转为 游击战 我们当前的任务是以客
  • 通过源码包*.src.rpm定制开发rpm

    为什么80 的码农都做不了架构师 gt gt gt 1 基本流程 1 下载 安装相应的src rpm包 wget xxx src rpm rpm ivh xxx src rpm 这里的 安装 是指把xxx src rpm中的tar gz p
  • 活动报名

    活动议程 日期 5月5日 周五 时间 主题 14 30 14 35 开场简介 袁洋 清华大学交叉信息学院助理教授 青源会会员 14 35 15 20 环境不变最小二乘回归 方聪 北京大学智能学院助理教授 青源会会员 15 20 15 50
  • 计算机网络分组交换特点,分组交换技术在计算机网络技术中的作用及特点是什么?...

    分组交换是以分组为单位进行传输和交换的 它是一种存储 转发交换方式 即将到达交换机的分组先送到存储器暂时存储和处理 等到相应的输出电路有空闲时再送出 采用存储转发的分组交换技术 实质上是在计算机网络的通信过程中动态分配传输线路或信道带宽的一
  • Android中实现全屏、无标题栏的两种办法(另附Android系统自带样式的解释)

    在进行UI设计时 我们经常需要将屏幕设置成无标题栏或者全屏 要实现起来也非常简单 主要有两种方法 配置xml文件和编写代码设置 1 在xml文件中进行配置 在项目的清单文件AndroidManifest xml中 找到需要全屏或设置成无标题
  • c++ 二进制、八进制、十进制、十六进制相互转换

    itoa 和strtol 可以实现二进制 八进制 十进制 十六进制之间的相互转换 包含在 inculde lt cstdlib gt 1 十进制转换为其他进制 使用itoa int dec char str int R 将十进制数dec转换