C语言问题,16进制转换到10进制,求思路 c语言中16进制转换成10进制数,求用可调用的函数,返回10...

\u5982\u4f55\u7528C\u8bed\u8a00\u5c06\u4e00\u4e2a16\u8fdb\u5236\u6570\u8f6c\u6362\u621010\u8fdb\u5236\u6570\uff0c\u8981\u6c42\u7528\u51fd\u6570\u3002

\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

\u5982\u679c\u662f\u8bfb\u5165\u4e00\u4e2a16\u8fdb\u5236\u7684\u6570\uff0c\u6309\u7167scanf\uff08\u201c%x\u201d\uff0c&n\uff09
\u8f93\u51fa\u76f4\u63a5\u6309\u7167printf\uff08\u201c%d\u201d\uff0cn\uff09\u5c31\u53ef\u4ee5\u4e86

\u5982\u679c\u662f\u7a0b\u5e8f\u5185\u90e8\u7684\u8bdd\uff0c\u90fd\u662f\u6309\u71672\u8fdb\u5236\u5b58\u50a8\uff0c\u6b63\u5e38\u8fd0\u7b97\u5c31\u53ef\u4ee5\uff0c\u4e0d\u8bb8\u8981\u8f6c\u6362\u3002

16进制就是 逢16进1,其实跟10进制是一个道理。
只是1到9只能表示9个数字 所以用A表示10 同理 B是11,C是12,D是13 ,E是14,F是15
一个十六进制通常以前缀0x 或0X开头。例如0xabcd
转换10进制 即为 d*16^0+c*16^1+b*16^2+a*16^3 = 13+12*16+11*16^2+10*16^3

很简单的算术运算 比如有一个十六进制数 1A24
换算成十进制的方法是 1*16^3+10*16^2+2*16^2+4*16^1
这里只要把相应的十六进制数ABCDEF 换成10,11,12,13,14,15即可

在printf是用%d.

  • 濡備綍鐢C璇█瀹炵幇鍗佸叚杩涘埗杞崲涓哄崄杩涘埗
    绛旓細include <stdio.h>void main(){ int he; int re=0; // 淇濆瓨杞崲涓10杩涘埗鐨勭粨鏋 int k=16; // 16杩涘埗 int n=1; // 浣嶆潈 scanf("%d", &he); // 鎺ユ敹鐢ㄦ埛杈撳叆鐨16杩涘埗鏁帮紝涓嶅惈0x鍓嶇紑 while(he != 0) { re += (he%10)*n; // 鍙栧嚭鍚勪綅...
  • 濡備綍鐢C璇█灏嗕竴涓鍗佸叚杩涘埗鏁板瓧杞崲涓哄崄杩涘埗
    绛旓細char HEX[16] = 浠ュ悗浣犲緱鍑虹殑鏁板瓧,姣斿浣欐暟y鏄10,閭d箞HEX[y]鎵撳嵃鍑烘潵灏辨槸A浜嗕緥瀛(鐜板啓鐨)int now;int res[100];//绛旀int c = 0;//浣嶆暟杈撳叆鍒皀ow;while (now > 0){ res[c] = now % 16; now = now / 16; c++;}杈撳嚭鏄:for (i = 0; i < c; i++){ 杈撳嚭HEX[res[i]];}绠楁硶鐨勭簿...
  • 鐢C璇█瀹炵幇16杩涘埗杞寲涓10杩涘埗?
    绛旓細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浣嶇殑...
  • 濡備綍鎶16杩涘埗鏁杞寲涓10杩涘埗,c璇█缂栧啓
    绛旓細鏌16杩涘埗鏁板叡n浣嶏紝绗琻浣嶈〃绀轰负Xn銆杞崲鍚庣殑10杩涘埗鏁拌〃绀轰负Y銆俌 = Xn脳16^0 + Xn-1脳16^1 + Xn-2脳16^2 + 鈥︹ + X1脳16^n-1銆俰nclude <stdio.h>#include <math.h>#include <string.h>/* 浠绘剰杩涘埗鏁杞崄杩涘埗鏁 *//* char *value : 鍏朵粬杩涘埗鏁 *//* int *result : 杞崲...
  • c璇█涓崄鍏繘鍒鎬庝箞杞崲鎴愬崄杩涘埗
    绛旓細include <stdio.h>#include <math.h>#include <string.h>/* 浠绘剰杩涘埗鏁杞崄杩涘埗鏁 *//* char *value : 鍏朵粬杩涘埗鏁帮紝浠ュ瓧绗︿覆褰㈠紡瀛樺偍 *//* int *result : 杞崲鍚庣殑鍗佽繘鍒舵暟 *//* int radix : 寰呰浆鎹㈢殑杩涘埗 *//* R杩涘埗鏁板叡n浣嶏紝绗琻浣嶈〃绀轰负Xn銆傝浆鎹㈠悗鐨10杩涘埗鏁拌〃绀轰负Y *//* Y...
  • c璇█涓16杩涘埗杞崲涓哄崄杩涘埗
    绛旓細鏈绠鍗曠殑浣跨敤scanf()鍑芥暟鍜宲rintf()鍑芥暟杩涜鏍煎紡杞崲,浠16杩涘埗鏍煎紡杈撳叆,鍐嶄互10杩涘埗鏍煎紡杈撳嚭銆 绋嬪簭浠g爜濡備笅: #include<stdio.h> int main() { int a=0; int i=0; scanf("%x",&a); printf("%d",a); return 0; } 杩愯缁撴灉: 鎵╁睍璧勬枡: scanf鍑芥暟涓巔rintf鍑芥暟鐨勭敤娉曞緢鍍,閮芥槸浠ユ牸寮忓寲鐨勫舰寮...
  • C璇█鍗佸叚杩杞崲10杩涘埗
    绛旓細16杩涘埗 杞负10杩涘埗锛屽悇涓綅渚濇涔1 16 256 4096 杩欓噷鍙湁鏈楂樹綅涓1锛 浜庢槸缁撴灉灏辨槸4096 3 269 杞负16杩涘埗锛屼緷娆¢櫎16鍙栦綑 269/16=16 鈥︹ 13 鍗0xD 16/16 = 1 鈥︹ 0 1/16=0 鈥︹1 鍙嶅悜鍙栦綑鏁帮紝10D 4 8浣嶈〃绀烘湁绗﹀彿鏁帮紝鏈楂樹綅鏄鍙蜂綅锛屾暟鎹湁7浣 鑼冨洿灏辨槸 -2^7 ~ 2^7-1...
  • 濡備綍鐢C璇█瀹炵幇鍗佸叚杩涘埗杞崲涓哄崄杩涘埗.
    绛旓細);scanf("%d",&x); // %d 灏辨槸鎸10杩涘埗杈撳叆 printf("The hex is %x\n", x锛夛紱 // %x 灏辨槸鎸16杩涘埗杈撳叆 // c/c++ 鏈 itoa 鍑芥暟锛屽彲浠ユ妸鏁村瀷杞悇绉嶈繘鍒讹紝瀛樻斁浜庡瓧绗︽暟缁剆閲岋紝// 渚嬪 2杩涘埗锛 itoa(x,s,2); 8杩涘埗锛 itoa(x,s,8); 16 杩涘埗锛 itoa(x,s,16);...
  • C璇█闂,16杩涘埗杞崲鍒10杩涘埗,姹傛濊矾
    绛旓細16杩涘埗灏辨槸 閫16杩1锛屽叾瀹炶窡10杩涘埗鏄竴涓亾鐞嗐傚彧鏄1鍒9鍙兘琛ㄧず9涓暟瀛 鎵浠ョ敤A琛ㄧず10 鍚岀悊 B鏄11锛孋鏄12锛孌鏄13 锛孍鏄14锛孎鏄15 涓涓鍗佸叚杩涘埗閫氬父浠ュ墠缂0x 鎴0X寮澶淬備緥濡0xabcd 杞崲10杩涘埗 鍗充负 d*16^0+c*16^1+b*16^2+a*16^3 = 13+12*16+11*16^2+10*16^3 ...
  • 扩展阅读:16进制在线转换器 ... 字符转16进制 c语言 ... 16进制小端 10进制 c# ... 16进制可以直接位运算吗 ... 中文转16进制在线工具 ... 16在16进制中怎么表示 ... 16进制计算器 ... 数字转换16进制在线 ... 16进制数如何转成10进制c ...

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