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

(127)

文章推荐

  • 病毒感染的发烧吃什么药退烧(病毒感染发烧一般吃什么药)

    小孩病毒性发烧吃什么药儿童病毒性感冒发烧通常由于病毒侵入孩子体内的情况,从而在上呼吸道黏膜发生炎症反应,这个时候孩子可以适当吃些具有清热解毒的中成药,比如小儿柴桂退热口服液,双黄连,抗病毒口服液等。这时如果存在病毒感染而没有细菌感染,则不需要使用抗生素来治疗。如果体温在37-35℃之间时,可以给孩

    2025年03月17日
    114
  • 3分钟学会“海南麻将开挂下什么软件(详细透视开挂教程)

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

    2025年04月04日
    66
  • 赤峰有没有新冠状病毒(赤峰有新冠疫情吗)

    现在中国哪几个地方有疫情1、江苏省是目前全国疫情最为严重的省份之一。根据最新的中高风险区域名单,江苏省拥有2个高风险地区和50个中风险地区。8月1日,江苏新增40例本土确诊病例,其中11例为轻型,29例为普通型。同时,新增2例本土无症状感染者,以及3例境外输入确诊病例。2、北京,天津,河北,山西,

    2025年04月07日
    100
  • 必备科技“边锋舟山麻将开挂下什么软件”其实确实有挂

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

    2025年04月23日
    75
  • 推荐一款“燕赵河北麻将到底有没有挂”分享装挂技巧步骤

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

    2025年05月14日
    54
  • 实测辅助”手机微乐麻将万能开挂器(真的有挂)

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

    2025年05月23日
    55
  • 实测辅助”朋友局麻将怎么控制输赢”其实确实有挂

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

    2025年05月24日
    61
  • 6秒懂!爱玩联盟能开挂吗(透视挂真的假的)

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

    2025年06月25日
    41
  • 辅助开挂工具“大头十三水究竟有挂吗”其实确实有挂

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

    2025年06月28日
    49
  • 玩家必搜“全名联盟怎么装挂”原来真实可以装挂

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

    2025年08月25日
    29

发表回复

本站作者后才能评论

评论列表(4条)

  • 映凝
    映凝 2026年07月04日

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

  • 映凝
    映凝 2026年07月04日

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

  • 映凝
    映凝 2026年07月04日

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

  • 映凝
    映凝 2026年07月04日

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