C++ 十进制与十六进制转换

news2024/9/22 21:35:19

文章作者:里海
来源网站:里海C\C++专栏


十进制与十六进制转换

#include <iostream>  
#include <string>  
using namespace std;

//十进制整数转十六进制字符串
string DecimalToHex(long long decimal)
{
    string hex = "";
    while (decimal > 0) 
    {
        int remainder = decimal % 16;
        if (remainder < 10) 
            hex = (char)(remainder + '0') + hex;
        else 
            hex = (char)(remainder + 'A' - 10) + hex;
        decimal /= 16;
    }
    return hex;
}

//十六进制字符串转十进制整数
long long HexToDecimal(string hex)
{
    long long decimal = 0;
    for (int i = 0; i < hex.size(); i++)
    {
        char c = hex[i];
        if (c >= '0' && c <= '9')
            decimal = decimal * 16 + (c - '0');
        else
            decimal = decimal * 16 + (c - 'A' + 10);
    }
    return decimal;
}

int main() 
{
    long long n = 3123197280;
    cout << n << endl;

    string hex = DecimalToHex(n);
    cout << hex << endl;

    n = HexToDecimal(hex);
    cout << n << endl;

    cin.get();
    return 0;
}

输出:
3123197280
BA283560
3123197280

在这里插入图片描述

进制转换

十进制和十六进制之间的转换在计算机科学和日常生活中都是非常重要的。十进制是我们日常生活中常用的计数系统,基于10个不同的数字(0-9)进行计数。而十六进制则是计算机内部使用的计数系统,基于16个不同的数字(0-9和A-F)进行计数。

要进行十进制到十六进制的转换,我们可以使用以下步骤:

  • 将十进制数拆分成小数点左右两部分。
  • 将小数部分转换为十六进制,每个十六进制数对应4位二进制数。例如,0.375的二进制表示为0.011,然后转换为十六进制就是0.3。
  • 将整数部分转换为十六进制,方法相同。例如,12的二进制表示为1100,转换为十六进制就是C。
  • 将小数和整数部分的结果合并,得到最终的十六进制表示。例如,将0.3和12合并,得到的十六进制表示为0.3C。

同样,从十六进制转换到十进制,我们可以使用以下步骤:

  • 将十六进制数拆分成小数点左右两部分。
  • 将小数部分转换为二进制,每个十六进制数对应4位二进制数。例如,0.3的二进制表示为0.0111,然后转换为十进制就是0.375。
  • 将整数部分转换为二进制,方法相同。例如,C的二进制表示为1100,然后转换为十进制就是12。
  • 将小数和整数部分的结果合并,得到最终的十进制表示。例如,将0.375和12合并,得到的十进制表示为12.375。
    在计算机科学中,十六进制的使用非常普遍,因为它可以有效地表示二进制数据,而二进制在计算机内部处理数据的方式非常自然地映射到十六进制的表示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1229002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

buildadmin+tp8表格操作(3)----表头上方按钮绑定事件处理,实现功能(选中或取消指定行)

在buildAdmin的表格中&#xff0c;通过按钮来选中和取消某一行 这种情况&#xff0c;只适合表格行的单选 在elementplus是这样说的 我们所使用的就是这个方法 看一下buildAdmin中的用法 highlight-current-row 是element-plus 中表格的属性 因为 buildadmin 中的table是对 el…

ModuleNotFoundError: No module named ‘pycocotools‘

cuda 12.1 pytorch 2.0.1 python 3.11 运行代码&#xff0c;报该错误&#xff0c;尝试了以下方法解决&#xff1a; 方法一 # step 1: 安装cython pip install Cython# step 2: 安装pycocotools pip install githttps://github.com/philferriere/cocoapi.git#eggpycocotools…

商业园区的万能管理法,还怪高级的咧!

随着社会的不断发展和科技的飞速进步&#xff0c;视频监控技术已经成为维护安全、提高效率以及实现智能化管理的关键工具。 在这个信息时代&#xff0c;人们对于安全和管理的需求不断提升&#xff0c;而视频监控系统作为一种强大而灵活的解决方案&#xff0c;正日益受到各行各业…

性格急躁怎么办?如何改变急躁的性格?

性格急躁很多人可能都有&#xff0c;有的人只是有过&#xff0c;而有些人持续的有&#xff0c;而且越来越频繁&#xff0c;要说偶尔出现性格急躁也算不上什么大问题&#xff0c;可是当急躁成了一种人格特征&#xff0c;或者说急躁是在一段时间内持续的&#xff0c;那么这问题就…

【漏洞复现】浙大恩特CRM大客户系统sql注入0day(三)

漏洞描述 杭州恩软信息技术有限公司(浙大恩特)提供外贸管理软件、外贸客户管理软件等外贸软件,是一家专注于外贸客户资源管理及订单管理产品及服务的综合性公司。 浙大恩特客户资源管理系统中的T0140_editAction.entweb接口存在SQL注入漏洞,攻击者可通过此漏洞获取企业数…

如何通过算法模型进行数据预测

当今数据时代背景下更加重视数据的价值&#xff0c;企业信息化建设会越来越完善&#xff0c;越来越体系化&#xff0c;以数据说话&#xff0c;通过数据为企业提升渠道转化率、改善企业产品、实现精准运营&#xff0c;为企业打造自助模式的数据分析成果&#xff0c;以数据驱动决…

SpringBoot3.x最简集成SpringDoc-OpenApi

为什么使用SpringDoc 在SpringBoot低版本时一般使用Swagger扫描接口生成Json格式的在线文档&#xff0c;然后通过swagger-ui将Json格式的文档以页面形式展示文档。可惜遗憾的是swagger更新到3.0.0版本(springfox)后不更新了。 SpringBoot3.x以后需要的JDK版本最低为Java17&…

C#中的is和as的使用和区别

目录 概述一、is操作符1. is操作符的语法2. is操作符的用途3. is操作符的使用示例4. is操作符与typeof操作符的区别 二、as操作符1. as操作符的语法2. as操作符的用途3. as操作符的使用示例4. as操作符与is操作符的区别和联系5. as操作符与is操作符的区别总结 概述 在C#编程语…

深度学习系列54:使用 MMDETECTION 和 LABEL-STUDIO 进行半自动化目标检测标注

参考https://mmdetection.readthedocs.io/zh-cn/latest/user_guides/label_studio.html&#xff0c;这里进行简要概述&#xff1a; 1. 启动目标检测服务 在mmdetection文件夹中&#xff0c;执行 label-studio-ml start projects/LabelStudio/backend_template --with \ conf…

基于 FFmpeg 的跨平台视频播放器简明教程(十一):一种简易播放器的架构介绍

系列文章目录 基于 FFmpeg 的跨平台视频播放器简明教程&#xff08;一&#xff09;&#xff1a;FFMPEG Conan 环境集成基于 FFmpeg 的跨平台视频播放器简明教程&#xff08;二&#xff09;&#xff1a;基础知识和解封装&#xff08;demux&#xff09;基于 FFmpeg 的跨平台视频…

python用最小二乘法实现平面拟合

文章目录 数学原理代码实现测试 数学原理 平面方程可写为 A x B y C z D 0 AxByCzD0 AxByCzD0 假设 C C C不为0&#xff0c;则上式可以改写为 z a x b y d zaxbyd zaxbyd 则现有一组点 { p i } \{p_i\} {pi​}&#xff0c;则根据 x i , y i x_i,y_i xi​,yi​以及平面…

金蝶云星空对接打通旺店通·旗舰奇门采购退料单查询接口与创建货品档案接口

金蝶云星空对接打通旺店通旗舰奇门采购退料单查询接口与创建货品档案接口 来源系统:金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上&#xff0c;提供了标准的管理模式&#xff1b;通过标准的业务架构&#xff1a;多会计准则、多币别、多地点、多组织、多税制应用…

08.智慧商城——购物车布局、全选反选、功能实现

01. 购物车 - 静态布局 基本结构 <template><div class"cart"><van-nav-bar title"购物车" fixed /><!-- 购物车开头 --><div class"cart-title"><span class"all">共<i>4</i>件商品…

《微信小程序开发从入门到实战》学习十八

3.3 开发创建投票页面 3.3.5 数据的双向传递 通过上一小节的代码和预览效果可以看到使用时间函数可以将视图层传递到逻辑层。 视图层数据由小程序管理&#xff0c;逻辑层通常保存在data对象&#xff0c;必须由开发者自己管理。 微信开发工具的AppData的面板可以实时查看到页…

计算机网络必知必会——传输层TCP

&#x1f4d1;前言 本文主要SpringBoot通过DevTools实现热部署的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日一句&…

安全测试工具分为 SAST、DAST和IAST 您知道吗?

相信刚刚步入安全测试领域的同学都会发现&#xff0c;安全测试领域工具甚多&#xff0c;不知如何选择&#xff01;其实安全测试工具大致分为三类&#xff1a;SAST、DAST和IAST。本文就带大家快速的了解这三者的本质区别&#xff01; SAST &#xff08;Static Application Secu…

MacOs 删除第三方软件

AppStore下载的软件 如果删除AppStore下载的软件&#xff0c;直接长按软件&#xff0c;点击删除或拖到废纸篓就可以完成软件的删除 第三方软件 但是第三方下载的软件&#xff0c;无法拖进废纸篓&#xff0c;长按软件也没有右上角的小叉 可以通过以下方法实现对软件的卸载 …

Spring高级bean的实例化方法

bean的实例化方法 构造方法 实例化bean第一种&#xff1a;使用默认无参构造函数(常用) 第二种创建bean实例&#xff1a;静态工厂实例化&#xff08;了解&#xff09; 第三种&#xff1a;实例工厂&#xff08;了解&#xff09;与FactoryBean&#xff08;实用&#xff09;

微信怎么发状态?简单教程,一学就会!

微信是一个非常实用的社交应用&#xff0c;不仅提供了基础的聊天功能&#xff0c;还推出了很多其他有趣的功能。比如微信个人状态&#xff0c;这个功能可以让用户随时随地分享自己的心情和动态。那么&#xff0c;微信怎么发状态呢&#xff1f;本文将为大家介绍有关微信发状态的…

数据结构【DS】串

朴素模式匹配算法的时间复杂度是多少&#xff1f; 最坏的时间复杂度为&#xff1a;&#x1d476;(&#x1d48e;&#x1d48f;) KMP算法的时间复杂度是多少&#xff1f; 最坏的时间复杂度为&#xff1a;&#x1d476;(&#x1d48e;&#x1d48f;)求next数组的时间复杂度为&…