10进制转16进制c语言 c语言16进制转换为10进制数的函数、

c\u8bed\u8a00\u7f16\u7a0b \u628a\u5341\u8fdb\u5236\u8f6c\u6362\u4e3a\u5341\u516d\u8fdb\u5236

\u65b9\u6cd5\u4e00\uff1a#include#include 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');elsestr += ('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;}
\u65b9\u6cd5\u4e8c\uff1a
#include#include #include
#include #include using namespace std;int main()
{string decStr;cin >> decStr;int num = stoi(decStr);vectorv;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 > strTemp;hexStr += strTemp;}elsehexStr += ('A' + temp - 10);}}cout << hexStr << endl;return 0;}
\u6269\u5c55\u8d44\u6599\uff1a
\u8fd8\u67093\u79cd\u65b9\u5f0f\u53ef\u4ee5\u5b9e\u73b0\uff0c\u5176\u4e2d\u4e24\u79cd\u662f\u4f7f\u7528\u7cfb\u7edf\u51fd\u6570\uff0c\u53e6\u4e00\u79cd\u662f\u76f4\u63a5\u81ea\u5df1\u7f16\u5199\u3002
\u4e0b\u9762\u7684\u4ee3\u7801\u5c31\u662f3\u79cd\u65b9\u5f0f\u7684\u5b9e\u73b0\uff0c\u5305\u62ec2\u4f4d\u7684\u6574\u6570\u548c\u4efb\u610f\u6574\u6570\uff082\u768431\u6b21\u65b9\u4ee5\u5185\uff09\u90fd\u53ef\u4ee5\u3002\u53ef\u81ea\u5df1\u9009\u62e9\u9700\u8981\u7684\u5b9e\u73b0\u65b9\u5f0f\u3002
\u5229\u7528\u7cfb\u7edf\u51fd\u6570\u6709
1. char * itoa ( int value, char * str, int base );value\u662f\u8981\u8f6c\u5316\u7684\u6570\u5b57\uff0cstr\u662f\u8f6c\u5316\u540e\u7684\u5b57\u7b26\u4e32\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0cbase\u662f\u8fdb\u5236\u6570\uff08\u4f46\u662f\u8fd9\u4e2a\u51fd\u6570\u4e0d\u662f\u6807\u51c6C\u51fd\u6570\uff0c\u6709\u4e9b\u7f16\u8bd1\u5668\u662f\u4e0d\u652f\u6301\u7684\uff01\uff09\u3002\u6240\u4ee5\u4ee3\u7801\u53ef\u4ee5\u4e3a\uff1a
char buffer [33]; //\u7528\u4e8e\u5b58\u653e\u8f6c\u6362\u597d\u7684\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\uff0c\u53ef\u6839\u636e\u9700\u8981\u5b9a\u4e49\u957f\u5ea6 char * inttohex(int aa){ itoa (aa, buffer, 16); return (buffer);}
2. sprintf(str,"%x",value);str\u662f\u8f6c\u5316\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c%x\u8868\u793a\u5341\u516d\u8fdb\u5236\u683c\u5f0f\uff0cvalue\u662f\u8981\u8f6c\u5316\u7684\u6570\u5b57\u3002\u6240\u4ee5\u4ee3\u7801\u53ef\u4ee5\u4e3a\uff1a
char buffer [33]; //\u7528\u4e8e\u5b58\u653e\u8f6c\u6362\u597d\u7684\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\uff0c\u53ef\u6839\u636e\u9700\u8981\u5b9a\u4e49\u957f\u5ea6 char * inttohex(int aa){ sprintf(buffer, "%x", aa); return (buffer);}
3. \u81ea\u5df1\u7f16\u5199

\u5982\u679c\u53c2\u6570\u53ea\u8981\u4e24\u4f4d\u6570\u7684\u6574\u6570\uff0c\u90a3\u4e48\u5f88\u7b80\u5355\u3002
\u4ee3\u7801\u5982\u4e0b\uff1a
#include #include char buffer [33]; //\u7528\u4e8e\u5b58\u653e\u8f6c\u6362\u597d\u7684\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\uff0c\u53ef\u6839\u636e\u9700\u8981\u5b9a\u4e49\u957f\u5ea6 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;}

1\u3001\u53ef\u4ee5\u6839\u636e16\u8fdb\u5236\u8f6c10\u8fdb\u5236\u7684\u7b97\u6cd5\uff08\u5373\u5404\u4f4d\u4f4d\u7801\u503c\u4e58\u4ee5\u4f4d\u6743\u4e4b\u548c\uff09\u6765\u5b9e\u73b0\u8be5\u529f\u80fd\u30022\u3001\u5177\u4f53\u5b9e\u73b0\u65b9\u6cd5\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u7a0b\u5e8f\uff1a
#include void main(){ int he; int re=0; // \u4fdd\u5b58\u8f6c\u6362\u4e3a10\u8fdb\u5236\u7684\u7ed3\u679c int k=16; // 16\u8fdb\u5236 int n=1; // \u4f4d\u6743 scanf("%d", &he); // \u63a5\u6536\u7528\u6237\u8f93\u5165\u768416\u8fdb\u5236\u6570\uff0c\u4e0d\u542b0x\u524d\u7f00 while(he != 0) { re += (he%10)*n; // \u53d6\u51fa\u5404\u4f4d\u4f4d\u7801\u503c\uff0c\u5e76\u4e58\u4ee5\u5bf9\u5e94\u7684\u4f4d\u6743\u503c he /= 10; // \u53bb\u638916\u8fdb\u5236\u6570\u7684\u6700\u4f4e\u4f4d\uff0c\u6b21\u4f4e\u4f4d\u53d8\u4e3a\u6700\u4f4e\u4f4d n *= k; // \u4f4d\u6743\u4e58\u4ee516 } printf("%d",re); // \u8f93\u51fa\u8f6c\u6362\u540e\u7684\u7ed3\u679c}

你把十进制的数不停除以16的余数按从右到左的顺序排起来就是16进制例如55/16=0余5
例如100
100/16=6余4
6/16余6,所以就是64
再例如1000
1000/16=62余8
62/16=3余12
3/16余3所以结果是3C8 //C语言十进制转16进制实例#include "stdio.h"
void main()
{
int x;
scanf("%d",&x);
printf("十六进制为:%x",x);//%x输出十六进制
}

用一个字符数组,初始化为“1,2,3,4,5,6,7,8,9,A,B,C,D,E,F”,也就是0到15用十进制的数不断模上16,得到的余数进入到一个栈中。计算完之后从栈中取值,在数组当中去找出数字,输出就可以了

好久没用C写PC程序了,有些地方可能不太准确,大概思路如下int a;//定义一个变量a=scanf("",);//用一个scanf函数输入你想要的数字。printf("十六进制数是%?,"a);//一时间想不起这个函数怎么写了,反正那个%号后面根个什么符号就显示十六进制了啥。比如%d表示显示十进制,%c表示显示为字符.....不好意思哈,好久没写程序了,忘了具体怎么写了,不过我认为这种不用死记,只要看书一下就知道了

#include<stdio.h>
#include<string.h>
void main()
{
int shu,n,i;
int s[20];

while((scanf("%d",&shu))!=EOF){
n=shu;
for(i=0;i<20;i++)
s[i]=0;
i=0;
while(n)
{
s[i]=n%16;
n/=16;
i++;
}
for(i--;i>=0;i--){
if(s[i]>=10)
printf("%c",'A'+s[i]-10);
else
printf("%d",s[i]);}

printf("\n");}
}

  对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。
  对于小数部分,采用连续乘以基数2,并依次取出的整数部分,直至结果的小数部分为0为止。故该法称“乘基取整法”。
例:
1563(10)
1563/16=97+11
97/16=6+3
6/16=0+6
1563(10)=63B(16)

  • 鎬庢牱鐢C绋嬪簭灏10杩涘埗鏁拌浆鎹㈡垚16杩涘埗?
    绛旓細case 10: a[i]='A';break;case 11: a[i]='B';break;case 12: a[i]='C';break;case 13: a[i]='D';break;case 14: a[i]='E';break;case 15: a[i]='F';break;} x=x/16;i++;} for(j=i-1;j>=0;j--)printf("%c",a[j]);printf("\n");printf("%x",y);...
  • 鐢C璇█瀹炵幇:10杩涘埗杞崲16杩涘埗,骞跺皢16杩涘埗瀛樺湪涓涓瓧鑺備腑,濡備綍瀹炵幇...
    绛旓細鍏堟妸10杩涘埗鍜16杩涘埗涓綅鏁板瓧瀵瑰簲鍏崇郴鍒楀嚭濡備笅锛0-0銆1-1銆2-2銆3-3銆4-4銆5-5銆6-6銆7-7銆8-8銆9-9銆10-A銆11-B銆12-C銆13-D銆14-E銆15-F 绠楁硶涓句緥濡備笅锛鍗佽繘鍒鏁2500杞垚鍗佸叚杩涘埗鏁 绗竴姝ワ細2500闄や互16锛屽緱156 -- 浣欐暟4 绗簩姝ワ細鎶婄涓姝ョ殑鏁存暟缁撴灉156闄や互16锛 寰9 -- ...
  • 鐢C璇█缂栫▼濡備綍灏鍗佽繘鍒杞崲鎴鍗佸叚杩涘埗?
    绛旓細缁欎綘涓悇绉嶈繘鍒惰浆鎹㈢殑閫氱敤鍑芥暟锛鍗佽繘鍒惰浆鍗佸叚杩涘埗锛宒1=10锛宒2=16 include <stdio.h> void conversion(char s[],char s2[],int d1,int d2){ // s[]锛氳浆鎹㈠墠鐨勬暟瀛 // s2[]锛氳浆鎹㈠悗鐨勬暟瀛 // d1锛氬師杩涘埗鏁 // d2锛氶渶瑕佽浆鎹㈠埌鐨勮繘鍒舵暟 // 楂樹簬9 鐨勪綅鏁扮敤澶у啓'A'锝'Z'琛ㄧず int...
  • 濡備綍鎶鍗佽繘鍒鏁拌浆鎹负鍗佸叚杩涘埗鏁
    绛旓細鎵嬪伐绠 寰幆 闄や互16 鍙栦綑鏁 鍗冲彲銆備緥濡傦紝10杩涘埗 3246 杞16杩涘埗锛3246/16 鍟 202 浣 14 锛堝崄鍏繘鍒 e)202/16 鍟 12 浣 10锛堝崄鍏繘鍒 a)12/16 鍟 0 浣 12锛鍗佸叚杩涘埗 c)鍐欐垚 鍗佸叚杩涘埗 cae 璁$畻鏈 c 璇█锛岀敤 x 鏍煎紡杈撳嚭 鏁村瀷鍙橀噺鐨勫 鍗冲彲锛氫緥濡:printf("%x",3246);杈撳嚭锛歝ae 绋嬪簭渚嬪瓙...
  • 姹c璇█鍗佽繘鍒鏁板瓧杞崲涓鍗佸叚杩涘埗鐨勭畻娉
    绛旓細printf("璇疯緭鍏ヤ竴涓鍗佽繘鍒鏁存暟:");scanf("%d",&num);while(num!=0){ i++;r_gitil=num%16;for(j=i-1;j=0;j--){ switch(a[j]){ case 10: a[j]='A';printf("%c",a[j]);break;case 11: a[j]='B';printf("%c",a[j]);break;case 12: a[j]='C';printf("%c...
  • c璇█鍗佽繘鍒惰浆鍖涓鍗佸叚杩涘埗鍘熺悊
    绛旓細渚嬪锛鍗佽繘鍒 17852.5 杞寲涓鍗佸叚杩涘埗锛17852/16 = 1115 浣 12 -- c 1115/16 = 69 浣 11 -- b 69/16 = 4 浣 5 4/16 = 0 浣 4 鏁存暟閮ㄥ垎 寰16杩涘埗: 45bc .5 * 16 = 8.0 鍙 8 浣 0 灏忔暟閮ㄥ垎 寰16杩涘埗: .8 鍚堣捣鏉 0x45bc.8 c 璇█绋嬪簭 printf("%x"...
  • 鐢C璇█濡備綍鎶鍗佽繘鍒杞崲涓鍗佸叚杩涘埗,瑕佹眰绋嬪簭涓繍鐢ㄥ嚱鏁
    绛旓細printf("璇ユ暟鐨鍗佸叚杩涘埗褰㈠紡涓猴細0x%x\n",num);//鐩存帴浠ュ崄鍏繘鍒剁殑褰㈠紡灏嗘暣鏁拌緭鍑 change(num);} void change(int s){ char num1[10];sprintf(num1,"%x",s);//sprintf()鍑芥暟鏄皢鍙橀噺鎸夋寚瀹氱殑鏍煎紡淇濆瓨鑷冲瓧绗︿覆涓俻rintf("璇ユ暟鐨勫崄鍏繘鍒跺舰寮忎负锛0x%s\n",num1);} 璇存槑锛歞 浠鍗佽繘鍒...
  • c璇█鎬庝箞鎶10杩涘埗杞崲涓16杩涘埗
    绛旓細娌℃槑鐧戒綘鐨勬剰鎬 1锛屽皢10杩涘埗鏁伴櫎浠16锛屼綑鏁版槸16杩涘埗鏁扮殑绗竴浣嶏紝鍐嶇敤鍟嗛櫎浠16锛屼綑鏁版槸绗簩浣嶏紝杩欎箞寰幆涓嬪幓锛岀洿鍒板晢灏忎簬16銆傚锛100/16=6---4锛6灏忎簬16锛涙墍浠鍗佽繘鍒100瀵瑰簲鐨16杩涘埗鏄64锛2锛c璇█涓皢鏁村瀷鏁颁互鍗佹垨鑰16杩涘埗鐨勬牸寮忚緭鍑 鍏蜂綋璇风湅浠ヤ笅浠g爜 include<stdio.h> int main(void){ int...
  • C璇█璋冪敤鍑芥暟缂栧啓鎶鍗佽繘鍒鏁存暟n杞崲鎴鍗佸叚杩涘埗鎬庝箞缂栫▼?
    绛旓細鍚庡緱鍒扮殑浣欐暟浣滀负鍗佸叚杩涘埗鏁扮殑楂樹綅鏈夋晥浣嶏紝渚濇鎺掑垪璧锋潵銆傚弬鑰冧唬鐮侊細include "stdio.h" int main() { int num,a[100],i=0,m=0; char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};scanf("...
  • 鍗佽繘鍒鎬庝箞杞崲鎴鍗佸叚杩涘埗?
    绛旓細16杩涘埗浠g爜瀵圭収琛細閫氬父鏄敤鏁板瓧0銆1銆2銆3銆4銆5銆6銆7銆8銆9浠ュ強瀛楁瘝A銆丅銆丆銆丏銆丒銆丗锛坅銆乥銆乧銆乨銆乪銆乫锛夎〃绀恒備笉鍚岀數鑴戠郴缁熴佺紪绋嬭瑷瀵逛簬16杩涘埗鏁板兼湁涓嶅悓鐨勮〃绀烘柟寮忥紝Ada涓嶸HDL鐢ㄦ墍鍩轰簬鐨勬暟瀛楀紩璇佹妸16杩涘埗鏁板寘璧锋潵锛屼緥濡16#5A3#銆傚浜庡瓧绗﹂噺C璇█涓紝鍒欎互x+涓や綅鍗佸叚杩涘埗鏁扮殑鏂瑰紡...
  • 扩展阅读:2 8 10 16进制之间的转换 ... 10进制转16计算器 ... 16转10进制在线转换器 ... 十进制怎么换16进制 ... 10 16 化成10进制 ... 十六进制在线转换 ... 10进制转8进制流程图 ... 汉字转16进制对照表 ... c++ 十进制转16进制 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网