使用C语言将一个十六进制数字转十进制? 如何用C语言将一个16进制数转换成10进制数,要求用函数。

\u7528c\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u5c06\u5341\u516d\u8fdb\u5236\u6570\u8f6c\u6362\u4e3a\u5341\u8fdb\u5236\u6570\u7684\u7a0b\u5e8f

\u76f4\u63a5\u7528printf\u5c31\u53ef\u4ee5\u5b9e\u73b0\u554a02x\u30020\u8868\u793a\u53f3\u5bf9\u9f50\u4e0d\u591f\u7684\u5de6\u8fb9\u88650\uff1b2\u4ee3\u8868\u4ee5\u4e24\u4f4d\u6570\u663e\u793a\uff1bx\u4ee3\u8868\u4ee516\u8fdb\u5236\u663e\u793a
#include
int
main(int
argc,
char*
argv[])
{
int
i=17;
printf("%02x\n",i);
system("pause");
return
0;
}

\u6211\u81ea\u5df1\u7f16\u5199\u7684\u4e00\u4e2a\u51fd\u6570\u3002
\u697c\u4e0a\u7684\u6839\u672c\u6ca1\u8fbe\u5230\u76ee\u7684\u3002\u8d4b\u503c\u8bed\u53e5\u5b9e\u73b0\u7eaf\u7cb9\u662f\u6295\u673a\u53d6\u5de7\u3002\u8003\u8bd5\u80af\u5b9a\u4e3a0\u5206\u3002
\u4e0b\u9762\u662f\u7a0b\u5e8f\u6e90\u4ee3\u7801
#include
void
shuchu(int
c)
//\u8fd9\u4e2a\u51fd\u6570\u4e0d\u7528\u7f16\u5199\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728zhs\u51fd\u6570\u91cc\u9762\u7528\u8bed\u53e5\u5199\u7684//
{
c=c%16;
if(c>=0&&c<=9)
{c=c+48;
putchar(c);
}
else
{
c=c+87;
putchar(c);
}
}
void
zhs(int
c)
{
if(c<=15)
shuchu(c);
else
{
zhs(c/16);
shuchu(c);
}
}
void
main()
{
int
n;
printf("please
enter
a
number:\n");
scanf("%d",&n);
printf("zhuan
huan
hou
de
16jinzhi
shushi
:\n");
zhs(n);
printf("\n");
}
\u4e0d\u597d\u610f\u601d\u5f04\u9519\u4e86\u8fd9\u662f\u4e00\u4e2a\u5341\u8fdb\u5236\u8f6c\u6362\u523016\u8fdb\u5236\u7684\u95ee\u9898\u3002\u6211\u91cd\u65b0\u5e2e\u4f60\u5199\u4e00\u4e2a\u3002

sscanf函数可以直接从字符串中扫描十六进制数:
#include <stdio.h>

int
main(int argc, char *argv[]) {
char hex[1024] = { 0 };
int result = 0;
scanf("%s", hex);
sscanf(hex, "%x", &result);
printf("%d\n", result);
return 0;
}

  • 浣跨敤C璇█灏嗕竴涓崄鍏繘鍒舵暟瀛楄浆鍗佽繘鍒?
    绛旓細sscanf鍑芥暟鍙互鐩存帴浠庡瓧绗︿覆涓壂鎻鍗佸叚杩涘埗鏁锛歩nclude <stdio.h> int main(int argc, char *argv[]) { char hex[1024] = { 0 };int result = 0;scanf("%s", hex);sscanf(hex, "%x", &result);printf("%d\n", result);return 0;} ...
  • 濡備綍鐢–璇█灏嗕竴涓崄鍏繘鍒舵暟瀛楄浆鎹负鍗佽繘鍒
    绛旓細num=num/16; i++;/*鍏抽敭鐨勫氨鍦ㄨ繖閲,杩欏悗闈功涓婂啓鐨勮鐢SWITCH,浣嗘槸鎴戠敤涓嶅ソ,璇峰悇浣嶅ぇ铏炬寚鏁*/ } printf("杞寲涓鍗佸叚杩涘埗鐨勬暟涓:"); for(;i>=0;i--)//鍊掑簭杈撳嚭 { printf("%c",HEX[a[i]]); //<---杩欓噷鏀逛簡} printf("\n"); } 鏈洖绛旂敱鎻愰棶鑰呮帹鑽 涓炬姤| 绛旀绾犻敊 | 璇勮(1) 2 4 ...
  • 濡備綍鐢–璇█灏嗕竴涓崄鍏繘鍒舵暟瀛楄浆鎹负鍗佽繘鍒
    绛旓細1銆侀鍏堬紝鎵撳紑C璇█缂栬瘧鍣紝鏂板缓涓涓鍒濆.cpp鏂囦欢锛屼緥濡傦細test.cpp銆2銆佸湪test.cpp鏂囦欢涓紝杈撳叆C璇█浠g爜锛歩nt a = 0XFFFF;printf("%d", a);銆3銆佺紪璇戝櫒杩愯test.cpp鏂囦欢锛屾鏃舵垚鍔灏嗗崄鍏繘鍒舵暟杞崲涓鍗佽繘鍒惰繘琛屼簡杈撳嚭銆
  • 鐢╟璇█濡備綍灏嗗崄鍏繘鍒惰浆鎴愬崄杩涘埗鏁?
    绛旓細C璇█绋嬪簭涓紝鍗佽繘鍒跺拰鍗佸叚杩涘埗瀹為檯鏄簰閫氱殑銆鍗佸叚杩涘埗鏁扮敱鏁板瓧0~9銆佸瓧姣岮~F锛堟垨a~f锛夌粍鎴愩傛妸鍗佸叚杩涘埗鏁版寜鏉冨睍寮銆佺浉鍔犲嵆寰楀崄杩涘埗鏁銆傜幇瀹炰腑鍗佸叚杩涘埗鏁板拰鍗佽繘鍒舵暟涓嶅彲浠ョ洿鎺ョ浉鍔狅紝濡傛槸鍦ㄧ數鑴戜笂鐨勮瘽鏄彲浠ョ殑锛屼綍绉嶈繘鍒舵暟鍦ㄧ數鑴戜笂閮芥槸浠ヤ簩杩涘埗鐨勫舰寮忚〃绀虹殑锛屽湪鐢佃剳缂栧啓绋嬪簭鏃舵槸鍙互鐩稿姞鐨勩傚崄杩涘埗鏁...
  • C璇█濡備綍瀹炵幇鍗佸叚杩涘埗杞崲鎴鍗佽繘鍒
    绛旓細C璇█瀹炵幇鍗佸叚杩涘埗杞崲鎴愬崄杩涘埗濡備笅锛氫緥濡傚皢鍗佸叚杩涘埗鏁板瓧 9FA8C 杞崲鎴愬崄杩涘埗锛9FA8C = 9脳164 + 15脳163 + 10脳162 + 8脳161 + 12脳160 = 653964锛堝崄杩涘埗锛夈備粠鍙冲線宸︾湅锛岀1浣嶇殑浣嶆潈涓 160=1锛岀2浣嶇殑浣嶆潈涓 161=16锛岀3浣嶇殑浣嶆潈涓 162=256锛岀4浣嶇殑浣嶆潈涓 163=4096锛岀5浣嶇殑...
  • C璇█ 鍐欎竴涓嚱鏁 杈撳叆涓涓崄鍏繘鍒舵暟 杈撳嚭鐩稿簲鐨勫崄杩涘埗
    绛旓細/ 鍑芥暟锛歝onvert 鍔熻兘锛鍗佸叚杩涘埗杞鍗佽繘鍒 / void conver(char arr[]){ int i,j=0,k=0,sum=0,n=strlen(arr);int num[100];for(i=0;i<n;i++){ switch(arr){ case'A':num[j++]=10;break;case'B':num[j++]=11;break;case'C':num[j++]=12;break;case'D':num[j++]=13;...
  • 鍐涓涓猚璇█绋嬪簭,灏嗗崄鍏繘鍒舵暟杞寲涓哄崄杩涘埗
    绛旓細define MAX 1000 void main(){ int func(char s[]);int c,i=0,flag=0,flag1=1;char t[MAX];printf("璇疯緭鍏涓涓崄鍏繘鍒剁殑鏁:\n");while((c=getchar())! ='\0'&&i<MAX&&flag1){ if(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F'){ flag=1;t[i++]...
  • C璇█缂栧啓绋嬪簭 ,浠ュ瓧绗﹀舰寮忚緭鍏涓涓崄鍏繘鍒舵暟,灏嗗叾鍙樻崲鎴愪竴涓崄杩涘埗...
    绛旓細char c[100];int i,len;long res=0,g=1;printf("璇疯緭鍏涓涓崄鍏繘鍒舵暟锛"); scanf("%s",c);len=strlen(c);for(i=len-1;i>=0;i--,g=g*16)if(c[i]>='a' && c[i]<='f') res+=(c[i]-87)*g;else if(c[i]>='A' && c[i]<='F') res+=(c[i]-55)*g;els...
  • C璇█缂栧啓绋嬪簭濡備綍浠ュ瓧绗﹀舰寮忚緭鍏涓涓崄鍏繘鍒舵暟,灏嗗叾鍙樻崲鎴愪竴涓崄杩 ...
    绛旓細浠庨敭鐩樿緭鍏涓涓涓嶈秴杩8浣嶇殑姝g殑鍗佸叚杩涘埗鏁板瓧绗︿覆锛屽皢瀹杞崲涓姝g殑鍗佽繘鍒舵暟鍚庤緭鍑恒傛敞锛氬崄鍏繘鍒舵暟涓殑10~15鍒嗗埆鐢澶у啓鐨勮嫳鏂囧瓧姣岮銆丅銆丆銆丏銆丒銆丗琛ㄧず銆傛牱渚嬭緭鍏 FFFF 鏍蜂緥杈撳嚭 65535 鎬濊矾锛氭劅瑙夎嚜宸辩殑涓嬮潰涓や釜鏂规硶閮藉 鏂规涓锛氭柟妗堜簩锛
  • 姹涓涓狢璇█绋嬪簭,瑕佹眰鏄鎶婅緭鍏鐨16杩涘埗鏁拌浆鎹负2杩涘埗鏁,鐒跺悗缁熻杩 ...
    绛旓細}//灏嗚緭鍏ョ殑鍗佸叚杩涘埗杞崲涓哄崄杩涘埗鏁 DecimalToBinary(num);//璋冪敤鍑芥暟灏嗗崄杩涘埗鏁拌浆鎹鎴愪簩杩涘埗鏁 len=strlen(str);printf("鍗佸叚杩涘埗鏁涓猴細%x\n",num);printf("浜岃繘鍒惰〃绀轰负锛");for(i=len-1;i>=0;i--){ printf("%c",str[i]);} printf("\n");while(num!=0){ cnt++;num=num&(...
  • 扩展阅读:十六进制在线转换器 ... 十六进制编程软件 ... 十六进制计算在线 ... 十六进制猜一个数字 ... 十六进制字母代号 ... 十六进制有哪些数字 ... 六进制对照表 ... 中文十六进制翻译器 ... 十六进制转换计算器 ...

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