C++ 十進制與十六進制之間相互轉換

十進制與十六進制之間相互轉換

10_to_16

與二進制類似,十進制轉十六進制對16整除,得到的余數的倒序即為轉換而成的十六進制,特別地,如果超過10以后,分別用ABCDEF或abcdef來代替10、11、12、13、14、15。

代碼1:

#include <iostream>
using namespace std;#include <sstream>
std::string decimalToHex1(int decimalNumber) //10進制轉16進制
{std::ostringstream oss;oss << std::hex << std::uppercase << decimalNumber;  // 將整數格式化為十六進制字符串  return oss.str();
}int main()
{cout << decimalToHex1(1000) << "\n";system("pause");return 0;
}

函數decimalToHex1接受一個int類型的參數decimalNumber,表示要轉換的十進制數,并返回一個std::string類型的結果,即轉換后的十六進制字符串。

std::ostringstream是一個輸出字符串流類,它可以用來將各種類型的數據格式化為字符串。在這里,oss是一個std::ostringstream類型的對象,它將被用來構建十六進制字符串。

std::hex:設置流為十六進制格式。這意味著接下來插入到流中的整數將被格式化為十六進制數。

std::uppercase:確保十六進制輸出使用大寫字母(A-F),而不是小寫字母(a-f)。

decimalNumber:將十進制數插入到流中。由于流已經被設置為十六進制格式,因此decimalNumber將被轉換為十六進制格式,并且由于std::uppercase的影響,其輸出將是大寫字母。
std::ostringstream類提供了一個str()成員函數,用于獲取流中當前的內容作為一個字符串。在這里,我們調用oss.str()來獲取格式化后的十六進制字符串,并將其作為函數的返回值。

?代碼2:

#include <iostream>
using namespace std;
#include<string>
#include<vector>string  decimalToHex(int decimalNumber)  // 功能 convert_10_to_16
{// 定義一個整型向量ivec來存儲十進制數轉換十六進制時的每一位  vector<int> ivec;while (decimalNumber != 0){ivec.push_back(decimalNumber % 16);// 將十進制數對16取余,得到十六進制的一位  decimalNumber = decimalNumber / 16;}string hexadecimal = "";   //存儲轉換后的字符串int temp = 0;string s = "";// 獲取ivec的大小  vector<int>::size_type sz = ivec.size();// 遍歷ivec向量  for (vector<int>::size_type index = 0; index != sz; ++index){// 如果當前位大于9(即A-F的十六進制位)  if (ivec[sz - 1 - index] > 9){// 轉換為字符A-F  temp = ivec[sz - 1 - index] + 55; // 這里使用ASCII碼進行轉換,55是字符'A'與10的差值  // 將字符添加到字符串s中  s = temp + '0' - '0';}else{// 如果當前位小于等于9(即0-9的十六進制位)  // 直接轉換為字符0-9   加上字符'0'的ASCII碼值(48)來得到對應字符的ASCII碼值s = ivec[sz - 1 - index] + '0';  //ASCII碼值被隱式地轉換為char類型,并賦值給s}hexadecimal += s;}return hexadecimal;
}int main()
{cout << decimalToHex(1000) << endl;system("pause");return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43491.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43491.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43491.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【密碼學基礎】基于LWE(Learning with Errors)的全同態加密方案

學習資源&#xff1a; 全同態加密I&#xff1a;理論與基礎&#xff08;上海交通大學 郁昱老師&#xff09; 全同態加密II&#xff1a;全同態加密的理論與構造&#xff08;Xiang Xie老師&#xff09; 現在第二代&#xff08;如BGV和BFV&#xff09;和第三代全同態加密方案都是基…

Git 快速上手

這個文檔適用于需要快速上手 Git 的用戶&#xff0c;本文盡可能的做到簡單易懂 ?????? git 的詳細講解請看這篇博客 Git 詳解&#xff08;原理、使用&#xff09; 1. 什么是 Git Git 是目前最主流的一個版本控制器&#xff0c;并且是分布式版本控制系統&#xff0c;可…

合規與安全雙重護航:ADVANCE.AI讓跨境支付更無憂

近年來&#xff0c;隨著全球化進程的加速和跨境貿易的蓬勃發展&#xff0c;跨境支付的需求大幅增加。根據Grand View Research的報告&#xff0c;2021年全球跨境支付市場規模估計為22.09萬億美元。到2025年&#xff0c;全球跨境支付市場預計將達到35.9萬億美元&#xff0c;較20…

rfid資產管理系統解決方案 rfid固定資產管理系統建設方案

在現代化的倉庫儲備中&#xff0c;僅僅完成對貨物進出的簡單批次處理已經不再足夠&#xff0c;對庫內貨品的種類、數量、生產屬性、垛位等信息的清晰記錄變得至關重要。然而&#xff0c;傳統的資產管理方式如條形碼在長期使用中逐漸暴露出不耐臟、數據存儲量小、讀取間隔短、不…

優質可視化大屏模板+動態圖表+科技感原件等

優質可視化大屏模板動態圖表科技感原件等 軟件版本&#xff1a;Axure RP 9 作品類型&#xff1a;高保真 作品內容&#xff1a; 1、大屏可視化模版&#xff08;100套&#xff09;&#xff1a;包含智慧城市、智慧社區、智慧園區、智慧農業、智慧水務、智慧警務、城市交通、電…

新加坡工作和生活指北:教育篇

文章首發于公眾號&#xff1a;Keegan小鋼 新加坡的基礎教育在東南亞處于領先地位&#xff0c;這點基本是人盡皆知&#xff0c;但很多人對其教育體系只是一知半解&#xff0c;今日我們就來深入了解一下。 新加坡的學校主要分為三大類&#xff1a;政府學校、國際學校、私立學校。…

Python 中將字典內容保存到 Excel 文件使用詳解

概要 在數據處理和分析的過程中,經常需要將字典等數據結構保存到Excel文件中,以便于數據的存儲、共享和進一步分析。Python提供了豐富的庫來實現這一功能,其中最常用的是pandas和openpyxl。本文將詳細介紹如何使用這些庫將字典內容保存到Excel文件中,并包含具體的示例代碼…

如何理解Node.js?NPM?Yarn?Vue?React?

一、背景 對后端技術棧更熟悉&#xff0c;對前端技術棧不了解&#xff0c;希望通過前后端的技術棧進行對比&#xff0c;可以更直觀地了解前端技術棧。 二、Node.js Node.js 是一個基于 Chrome V8 JavaScript 引擎的 JavaScript 運行環境。它使得 JavaScript 可以在服務器端運…

Xterminal工具的安裝與使用體驗

Xterminal工具的安裝與使用體驗 一、Xterminal簡介二、Xterminal核心特性三、Xterminal使用場景四、Xterminal下載地址五、Xterminal的基本使用5.1 設置倉庫密碼5.2 SSH連接5.3 Windows遠程桌面5.4 筆記功能5.5 AI工具 六、總結 一、Xterminal簡介 Xterminal是一款專為開發者設…

【大模型】智能體探秘:從概念到實踐的全面指南

智能體探秘&#xff1a;從概念到實踐的全面指南 引言一、智能體的基本概念二、智能體的類型三、設計智能體的步驟四、智能體設計實例&#xff1a;迷宮求解智能體五、智能體的評估與優化六、智能體的未來方向結語 引言 在人工智能領域&#xff0c;智能體&#xff08;Agent&…

【Linux進階】vim的用法

1.什么是vi/vim? 簡單來說&#xff0c;vi是老式的文本編輯器&#xff0c;不過功能已經很齊全了&#xff0c;但是還是有可以進步的地方。vim則可以說是程序開發者的一項很好用的工具&#xff0c;就連 vim的官方網站&#xff08; http://www.vim.org&#xff09;自己也說vim是一…

獨享代理VS共享代理,新手選擇攻略

隨著互聯網的廣泛普及和應用&#xff0c;涉及網絡隱私、數據安全和網絡訪問控制的問題變得越來越重要。代理服務器作為一種常見的網絡工具&#xff0c;可以在跨境電商、海外社媒、SEO投放、網頁抓取等領域發揮作用&#xff0c;實現匿名訪問并加強網絡安全。在代理服務器類別中&…

Nginx在線安裝與啟動

Nginx在線安裝與啟動 系統環境&#xff1a;中科方德桌面操作系統 3.1 內核&#xff1a; SMP CDOS 4.9.25-11cdos44 (2019-12-20) x86_64 GNU/Linux 使用連接工具&#xff1a;FinalShell3.9.5.7 1、下載nginx sudo apt-get update2、安裝命令 sudo apt-get install nginx安裝…

面向對象編程在Perl中的實現:解鎖Perl的OOP潛力

面向對象編程在Perl中的實現&#xff1a;解鎖Perl的OOP潛力 Perl作為一種多范式編程語言&#xff0c;支持過程式編程、面向對象編程&#xff08;OOP&#xff09;以及函數式編程等多種編程范式。盡管Perl在過程式編程方面非常強大&#xff0c;但在面向對象編程方面同樣具有獨特…

occ geo

隨筆 - 12 文章 - 18 評論 - 117 閱讀 - 13萬 opencascade造型引擎功能介紹 現今的CAD 系統大多通常都基于CAD 系統提供的二次開發包&#xff0c;用戶根據要求定制符合自己要求的功能。AutoCAD就提供了AutoLISP、ADS 等都是比較通用的開發工具包。UG 也提供了多種二次開發…

【力扣: 15題: 三數之和】

15題: 三數之和 給你一個整數數組 nums &#xff0c;判斷是否存在三元組 [nums[i], nums[j], nums[k]] 滿足 i ! j、i ! k 且 j ! k &#xff0c;同時還滿足 nums[i] nums[j] nums[k] 0 。請 你返回所有和為 0 且不重復的三元組。 注意: 答案中不可以包含重復的三元組。 …

小米攝像頭黃燈常亮,小米攝像頭不好用了刷機

我是MJSXJ05CM型號 一不小心更新了系統結果就不好用了&#xff0c;這種東西真是要小心&#xff0c;一不小心更新不成就成磚頭了。 我按下面方法試了不好用&#xff0c;但是下載鏈接很多收藏一下!某種程度上說如果服務端故意發布一個錯誤鏡像會導致很多攝像頭變成磚頭&#xff0…

名企面試必問30題(二十七)——你能為公司帶來什么呢?

回答一&#xff1a; “首先&#xff0c;我具備扎實的軟件測試專業知識和豐富的實踐經驗。我能夠運用各種測試方法和工具&#xff0c;確保公司產品的質量&#xff0c;降低產品上線后的風險。 其次&#xff0c;我善于發現問題和解決問題。在測試過程中&#xff0c;我不僅能找出軟…

Pytest中的鉤子函數

在pytest框架中&#xff0c;鉤子函數&#xff08;Hooks&#xff09;是一種強大的機制&#xff0c;允許用戶擴展和定制pytest的行為。鉤子函數在pytest的測試執行生命周期的特定點上被調用&#xff0c;提供了一種靈活的方式來修改或增強測試過程的各個方面。以下是對pytest鉤子函…

桌面弄一個透明的記事本怎么弄?電腦桌面透明記事本

每次坐在電腦前&#xff0c;我總會被桌面上密密麻麻的圖標和文件弄得眼花繚亂。多么希望能有一個透明的記事本&#xff0c;既能隨時記錄我的想法和任務&#xff0c;又不會遮擋我桌面上的其他內容。 有一天&#xff0c;我偶然發現了透明記事本工具。它不僅解決了我的記事本需求…