c语言编程 把十进制转换为十六进制

网上科普有关“c语言编程 把十进制转换为十六进制”话题很是火热,小编也是针对c语言编程 把十进制转换为十六进制寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问...

网上科普有关“c语言编程 把十进制转换为十六进制”话题很是火热,小编也是针对c语言编程 把十进制转换为十六进制寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

方法一:

#include<iostream>

#include <string>

using namespace std;

string DecIntToHexStr(long long num)

{ string str; long long Temp = num / 16; int left = num % 16; if (Temp > 0) str +=?

DecIntToHexStr(Temp); if (left < 10) str += (left + '0'); else str += ('A' + left - 10); return str;}

string DecStrToHexStr(string str){ long long Dec = 0; for (int i = 0; i < str.size(); ++i) Dec =?

Dec * 10 + str[i] - '0'; return DecIntToHexStr(Dec);}int main()

{ string DecStr; while (cin >> DecStr) { cout << "0x" + DecStrToHexStr(DecStr); } return 0;}

方法二:

#include<iostream>

#include <string>

#include<vector>

#include <sstream>

#include <math.h>

using namespace std;int main()

{ string decStr; cin >> decStr; int num = stoi(decStr); vector<int>v; while (num) { int bit = num % 2; v.push_back(bit); num = num / 2; }

reverse(v.begin(), v.end()); string hexStr; if (v.size() % 4 == 0) { for (int i = 0; i < v.size() / 4; ++i) { int temp = 0, k = 3; for (int j = i * 4; j < (i +?

1) * 4; ++j) {if (v[j] == 1) temp += pow(2, k);--k; } if (temp <= 9)hexStr += temp; elsehexStr += ('A' + temp - 10); } }

else { int zeroNum = 4 - v.size() % 4; for (int i = 0; i < zeroNum; ++i) v.insert(v.begin(), 0); for (int i = 0; i < v.size() / 4; ++i) { int temp = 0, k = 3; for?

(int j = i * 4; j < (i + 1) * 4; ++j) {if (v[j] == 1) temp += pow(2, k);--k; }

if (temp <= 9) {stringstream ss;string strTemp;

ss << temp;ss >> strTemp;hexStr += strTemp; } elsehexStr += ('A' + temp - 10); } } cout << hexStr << endl; return 0;}

扩展资料:

还有3种方式可以实现,其中两种是使用系统函数,另一种是直接自己编写。

下面的代码就是3种方式的实现,包括2位的整数和任意整数(2的31次方以内)都可以。可自己选择需要的实现方式。

利用系统函数有

1. char *? itoa ( int value, char * str, int base );value是要转化的数字,str是转化后的字符串存储的位置,base是进制数(但是这个函数不是标准C函数,有些编译器是不支持的!)。所以代码可以为:

char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa){ itoa (aa, buffer, 16); return (buffer);}?

2. sprintf(str,"%x",value);str是转化存储的位置,%x表示十六进制格式,value是要转化的数字。所以代码可以为:

char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa){ sprintf(buffer, "%x", aa); return (buffer);}

3. 自己编写

如果参数只要两位数的整数,那么很简单。

代码如下:

#include <stdio.h>#include <stdlib.h> char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa)

{ sprintf(buffer, "%x", aa); return (buffer);} int main () ?

{? int num;? char * hex_str;? printf ("Enter a number: ");? scanf ("%d",&num);? hex_str = inttohex (num);? printf ("Hexadecimal number: %sH\n", hex_str);? return 0;}

关于“c语言编程 把十进制转换为十六进制”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[映凝]投稿,不代表小熊号立场,如若转载,请注明出处:https://xx-scm.com/cshi/202607-178915.html

(129)

文章推荐

  • 林宥嘉的嗓音什么特点?

    网上科普有关“林宥嘉的嗓音什么特点?”话题很是火热,小编也是针对林宥嘉的嗓音什么特点?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。林宥嘉的嗓音特点是具有情绪张力,迷幻但辨识度高,音色以及音域宽广、淳朴、高音部分尖细。林宥嘉突出嗓音特点的代表作品1、《你是我

    2025年03月04日
    501
  • 去年的病毒是什么病毒啊(去年的病毒叫什么)

    什么是蠕虫病毒?有什么特征?应对措施?1、蠕虫是一种可以自我复制的代码,并且通过网络传播,通常无需人为干预就能传播。蠕虫病毒入侵并完全控制一台计算机之后,就会把这台机器作为宿主,进而扫描并感染其他计算机。2、蠕虫病毒是计算机病毒的一种,它通过网络自我复制并传播,主要途径包括网络和电子邮件。例如,最

    2025年03月28日
    76
  • 3分钟学会“聚玩麻将开挂是怎样的(详细透视开挂教程)

    网上科普有关“聚玩麻将开挂是怎样的”话题很是火热,小编也是针对同城衡阳字牌作弊开挂的方法寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,聚玩麻将开挂是怎样的这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会发现

    2025年04月04日
    78
  • 必备科技“决胜麻将怎么控制输赢(其实确实有挂)

    网上科普有关“决胜麻将怎么控制输赢”话题很是火热,小编也是针对同城衡阳字牌作弊开挂的方法寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,决胜麻将怎么控制输赢这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会发现

    2025年04月21日
    60
  • 6秒懂!大宝泰州麻将有挂没有”(确实有挂)

    大宝泰州麻将有挂没有网上科普有关“大宝泰州麻将有挂没有”话题很是火热,小编也是针对大宝泰州麻将有挂没有寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,大宝泰州麻将有挂没有这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏

    2025年06月08日
    51
  • 6秒懂!妙趣衢州到底怎么开挂(其实真的能开挂)

    妙趣衢州到底怎么开挂网上科普有关“妙趣衢州到底怎么开挂”话题很是火热,小编也是针对妙趣衢州到底怎么开挂寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,妙趣衢州到底怎么开挂这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏

    2025年06月09日
    32
  • 辅助开挂工具“闲来玩游戏有挂没(万能开挂器通用版)

    闲来玩游戏有挂没网上科普有关“闲来玩游戏有挂没”话题很是火热,小编也是针对闲来玩游戏有挂没寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,闲来玩游戏有挂没这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏中打牌都会发现很

    2025年06月30日
    35
  • 辅助开挂工具“微乐江苏麻将辅助软件(如何开挂)

    网上科普有关“微乐江苏麻将辅助软件”话题很是火热,小编也是针对同城衡阳字牌作弊开挂的方法寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,微乐江苏麻将辅助软件这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会发现

    2025年07月03日
    44
  • 玩家必搜“大赢家跑得快到底有挂吗”(确实有挂)

    大赢家跑得快到底有挂吗网上科普有关“大赢家跑得快到底有挂吗”话题很是火热,小编也是针对大赢家跑得快到底有挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,大赢家跑得快到底有挂吗这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在

    2025年08月25日
    28
  • aab式的词语大全成语有些

    网上科普有关“aab式的词语大全成语有些”话题很是火热,小编也是针对aab式的词语大全成语有些寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。优质解答聊聊天、咧咧嘴、努努嘴、散散步、散散心、扬扬手、摇摇头、咬咬牙应应急悠悠然游游泳眨眨眼招

    2025年09月09日
    158

发表回复

本站作者后才能评论

评论列表(4条)

  • 映凝
    映凝 2026年07月05日

    我是小熊号的签约作者“映凝”!

  • 映凝
    映凝 2026年07月05日

    希望本篇文章《c语言编程 把十进制转换为十六进制》能对你有所帮助!

  • 映凝
    映凝 2026年07月05日

    本站[小熊号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 映凝
    映凝 2026年07月05日

    本文概览:网上科普有关“c语言编程 把十进制转换为十六进制”话题很是火热,小编也是针对c语言编程 把十进制转换为十六进制寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问...