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

文章作者:里海
来源网站:里海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');elsedecimal = 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.mzph.cn/news/148877.shtml

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

相关文章

svg图标最简单的使用方式

svg图标最简单的使用方式 使用svg图标1. 复制图标的svg代码2. 新建个存放svg图标的目录&#xff0c;新建.vue文件3. 在<template>标签内粘贴svg的代码4. 在代码中也可以调整颜色和大小5. 在组件中引用6. svg做的图标要独占一行,使用布局将它安排到合适的地方 使用svg图标…

iOS 添加震动效果

1. AudioServicesPlaySystemSound 较早的系统版本&#xff0c;我们会使用AudioTool.framework。 #import <AudioToolbox/AudioToolbox.h>一般震动 AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);普通短震&#xff08;类似3D Touch的 Peek 反馈 &#xff09; …

BSN专网项目介绍:宁波市区块链新型基础设施“甬链”

“甬链”是在宁波市委网络安全和信息化委员会办公室、宁波市发展和改革委员会、宁波市经济和信息化局、宁波市大数据发展管理局等政府单位的指导下&#xff0c;由宁波区块链专委会主任单位中国移动宁波分公司&#xff0c;基于区块链服务网络&#xff08;BSN&#xff09;的技术和…

Leetcode经典题目之“双指针交换元素“类题目

1 LC 27. 移除元素 class Solution {public int removeElement(int[] nums, int val) {int nnums.length;int s0;for(int i0;i<n;i){// 只有不等于目标值的时候才会进行交换&#xff0c;然后移动s指针if(nums[i]!val){swap(nums,i,s);}}return s;}void swap(int[]nums, int…

Uniapp连接iBeacon设备——实现无线定位与互动体验(理论篇)

目录 前言&#xff1a; 一、什么是iBeacon技术 二、Uniapp连接iBeacon设备的准备工作 硬件设备&#xff1a; 三、Uniapp连接iBeacon设备的实现步骤 创建Uniapp项目&#xff1a; 四、Uniapp连接iBeacon设备的应用场景 室内导航&#xff1a; 五、Uniapp连接iBeacon设备的未来…

X12学习手册

EDI术语中的X12是指ANSI X12 报文标准&#xff08;EDI Document Standard&#xff09;&#xff0c;于 1979 年发布&#xff0c;由认证标准委员会维护&#xff0c;在过去的几十年中得到扩展&#xff0c;以满足全球业务流程的要求&#xff0c;包括汽车、物流、零售、医药、金融、…

七,vi和vim

Linux系统会内置vi文本编辑器 Vim具有程序编辑的能力&#xff0c;可以看做是Vi的增强版本&#xff0c;可以主动的以字体颜色辨别语法的正确性&#xff0c;方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 vi和vim常用的三…

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

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

STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX

STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX FLASH是常用的一种非易失存储单元&#xff0c;W25QXX系列Flash有不同容量的型号&#xff0c;如W25Q64的容量为64Mbit&#xff0c;也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库实现FATS文件操作W25Q各型号FLASH的例程。…

C++11的shared_ptr共享的智能指针

智能指针是存储指向动态分配&#xff08;堆&#xff09;对象指针的类。用于生存期控制&#xff0c;能够确保在离开指针所在作用域时&#xff0c;自动正确的销毁动态分配的对象&#xff0c;防止内存泄漏。它的一种通用实现技术是使用引用计数。美使用它一次&#xff0c;内部的引…

C++ 设计原则 - 依赖倒置原则

C 中的依赖倒置原则&#xff08;Dependency Inversion Principle&#xff0c;DIP&#xff09;是SOLID设计原则中的一部分&#xff0c;它要求高层模块不应该依赖于低层模块&#xff0c;二者都应该依赖于抽象&#xff1b;而抽象不应该依赖于具体实现细节&#xff0c;具体实现细节…

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

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

记录一次macos没有sudoers文件问题

问题&#xff1a;但我输入sudo visudo sudo: unable to stat /etc/sudoers: No such file or directory sudo: no valid sudoers sources found, quitting sudo: error initializing audit plugin sudoers_audit解决: 此文件不存在 su root # 现在我能登录root touch /etc/su…

10-19 HttpServletResponse

相应的对象 web开发模型&#xff1a;基于请求与相应的模型 一问一答的模型 Response对象:响应对象,封装服务器给客户端的相关的信息 顶级接口: ServletResponse 父接口:HttpServletResponse response对象的功能分为以下四种:(都是服务器干的事注意) 设置响应头信息; 发送状态码…

EtherCAT主站SOEM -- 6 -- SOEM之ethercatcoe.h/c(ethercateoe/foe/soe)文件解析

EtherCAT主站SOEM -- 6 -- SOEM之ethercatcoe.h/c-ethercateoe/foe/soe 0 COE,EOE,FOE,SOE区别:0.1 ehercatcoe.h/c,ethercateoe.h/c,ethercatfoe.h/c及ethercatsoe.h/c一 ethercatcoe.h/c文件功能预览:二 ethercatcoe.h/c 文件的主要函数的作用:2.1.1 void ec_SDOerro…

Vue2基础-Vue对象进阶介绍1

文章目录 一、绑定样式绑定class样式绑定style样式总结 二、渲染条件渲染列表渲染语法key详解 三、Vue检测数据原理问题解决 四、收集表单数据五、过滤器定义语法: 六、内置指令回顾v-text指令:v-htmlcookie问题 v-clock指令v-oncev-pre 一、绑定样式 绑定class样式 <!-- …

使用Flink处理Kafka中的数据_题库子任务_Java语言实现

2024年职业院校技术大赛-高职大数据应用开发赛项专题。 使用Flink处理Kafka中的数据_题库子任务1、2、3_Java语言实现使用Flink处理Kafka中的数据_题库子任务4、5、6_Java语言实现使用Flink处理Kafka中的数据_题库子任务7、8、9_Java语言实现

互联网摸鱼日报(2023-11-20)

互联网摸鱼日报(2023-11-20) 36氪新闻 2023年11月山东新三板企业市值TOP100&#xff1a;21家企业冲击北交所 2024年企业数字化转型工作展望 本周双碳大事&#xff1a;中美发表阳光之乡声明&#xff1b;CCER三大配套制度发布&#xff1b;国鸿氢能通过港交所上市聆讯 基因编辑…

python脚本获取cookie写入本地

自己负责的一个项目接口有token验证&#xff0c;登录功能&#xff08;获取token&#xff09;是相当于一个通用的第三方&#xff0c;点击登录按钮跳转公共的登录平台&#xff0c;登录完后再跳转回来。所以导致本地开发的时候&#xff0c;无法登录完后&#xff0c;直接跳回本地页…

SpringCloud-Gateway修改Response响应体,并解决大数据量返回不全等问题

官网相关案例&#xff1a; Spring Cloud Gatewayhttps://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#the-modifyresponsebody-gatewayfilter-factory ModifyRequestBodyGatewayFilterFactory类: https://github.com/spring-cloud/spring-cloud-gate…