怎么把十六进制数转化成十进制

\u8c01\u80fd\u628a\u8fd9\u4e2a\u5341\u516d\u8fdb\u5236\u6570\u8f6c\u6362\u6210\u5341\u8fdb\u5236\u7684\u3002\u3002

3*16^7 +12*16^6 +9*16^5 +11*16^4 +0*16^3 +7*16^2 +5*16 +2*1=1016792914

\u4e8c\u8fdb\u5236\u8f6c\u6362\u5341\u8fdb\u5236
\u4e8c\u8fdb\u5236\u6570\u7b2c0\u4f4d\u7684\u6743\u503c\u662f2\u76840\u6b21\u65b9\uff0c\u7b2c1\u4f4d\u7684\u6743\u503c\u662f2\u76841\u6b21\u65b9\u2026\u2026
\u4f8b\u5982\uff0c\u8bbe\u6709\u4e00\u4e2a\u4e8c\u8fdb\u5236\u6570\uff1a0110 0100\uff0c\u8f6c\u6362\u4e3a10\u8fdb\u5236\u4e3a\uff1a
\u4e0b\u9762\u662f\u7ad6\u5f0f\uff1a
0110 0100 \u6362\u7b97\u6210 \u5341\u8fdb\u5236
\u7b2c0\u4f4d 0 x 2^0 = 0
\u7b2c1\u4f4d 0 x 2^1 = 0
\u7b2c2\u4f4d 1 x 2^2 = 4
\u7b2c3\u4f4d 0 x 2^3 = 0
\u7b2c4\u4f4d 0 x 2^4 = 0
\u7b2c5\u4f4d 1 x 2^5 = 32
\u7b2c6\u4f4d 1 x 2^6 = 64
\u7b2c7\u4f4d 0 x 2^7 = 0
--------------------------
(0110 0100)B=(100)D
\u6ce8\uff1a\u6570\u5b57\u540e\u9762\u76f8\u5e94\u7684\u5b57\u6bcd\u8868\u793a\u4e0d\u540c\u7684\u8fdb\u4f4d\u5236\u3002B\u8868\u793a\u4e8c\u8fdb\u5236,O\u8868\u793a\u516b\u8fdb\u5236\uff0cD\u8868\u793a\u5341\u8fdb\u5236\uff0cH\u8868\u793a\u5341\u516d\u8fdb\u5236\u3002
\u516b\u8fdb\u5236\u8f6c\u6362\u5341\u8fdb\u5236
\u516b\u8fdb\u5236\u5c31\u662f\u90228\u8fdb1\u3002
\u516b\u8fdb\u5236\u6570\u91c7\u7528 0\uff5e7\u8fd9\u516b\u6570\u6765\u8868\u8fbe\u4e00\u4e2a\u6570\u3002
\u516b\u8fdb\u5236\u6570\u7b2c0\u4f4d\u7684\u6743\u503c\u4e3a8\u76840\u6b21\u65b9\uff0c\u7b2c1\u4f4d\u6743\u503c\u4e3a8\u76841\u6b21\u65b9\uff0c\u7b2c2\u4f4d\u6743\u503c\u4e3a8\u76842\u6b21\u65b9\u2026\u2026
\u6240\u4ee5\uff0c\u8bbe\u6709\u4e00\u4e2a\u516b\u8fdb\u5236\u6570\uff1a1507\uff0c\u8f6c\u6362\u4e3a\u5341\u8fdb\u5236\u4e3a\uff1a
\u7528\u7ad6\u5f0f\u8868\u793a\uff1a
1507\u6362\u7b97\u6210\u5341\u8fdb\u5236\u3002
\u7b2c0\u4f4d 7 x 8^0 = 7
\u7b2c1\u4f4d 0 x 8^1 = 0
\u7b2c2\u4f4d 5 x 8^2 = 320
\u7b2c3\u4f4d 1 x 8^3 = 512
--------------------------
(1507)O=(839)D
\u540c\u6837\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5\u7528\u6a2a\u5f0f\u76f4\u63a5\u8ba1\u7b97\uff1a
7 X 8^0 + 0 X 8^1 + 5 X 8^2 + 1 x 8^3 = (839)D
\u7ed3\u679c\u662f\uff0c\u516b\u8fdb\u5236\u65701507 \u8f6c\u6362\u6210\u5341\u8fdb\u5236\u6570\u4e3a 839
\u5341\u516d\u8fdb\u5236\u8f6c\u6362\u4e3a\u5341\u8fdb\u5236
(ABC.8C)H=10x16^2+11x16^1+12x16^0+8x16^-1+12x16^-2
=2560+176+12+0.5+0.046875
=(2748.546875)D
\u5341\u8fdb\u5236\u8f6c\u6362\u4e3a\u4e8c\u8fdb\u5236\u3001\u516b\u8fdb\u5236\u3001\u5341\u516d\u8fdb\u5236
1.\u6574\u6570\u90e8\u5206\u9664R\u53d6\u4f59
\u4f8b\uff1a(125)D=(1111101)B
\u6ce8\uff1a\u4f59\u6570\u4e2d\u6700\u540e\u5f97\u5230\u7684\u4f59\u6570\u4e3a\u6700\u9ad8\u4f4d\uff0c\u6700\u5148\u5f97\u5230\u7684\u4f59\u6570\u4e3a\u6700\u4f4e\u4f4d\uff0c\u4ece\u9ad8\u5230\u4f4e\u4f9d\u6b21\u6392\u5217\u3002
2.\u5c0f\u6570\u90e8\u5206\u4e58R\u53d6\u6574
\u4f8b\uff1a(0.25)D
0.25
X 2
_______________
0.50 \uff08\u6574\u6570\u90e8\u52060\u4e3a\u9ad8\u4f4d\uff09
X 2 \u2193
_______________ \u2193
1.00 \uff08\u6574\u6570\u90e8\u52061\u4e3a\u4f4e\u4f4d\uff09
(0.25)D=(0.01)B
\u6ce8\uff1a\u6574\u6570\u7684\u8f6c\u6362\u662f\u7cbe\u786e\u7684\uff0c\u5c0f\u6570\u7684\u8f6c\u6362\u53ef\u80fd\u51fa\u73b0\u65e0\u7a77\u5c0f\u6570\u6216\u5faa\u73af\u5c0f\u6570\u7684\u60c5\u51b5\u3002\u6b64\u65f6\u9700\u8981\u8fdb\u884c\u820d\u5165\u5904\u7406\u4ee5\u622a\u65ad\uff0c\u6240\u4ee5\u5c0f\u6570\u7684\u8f6c\u6362\u53ef\u80fd\u7565\u6709\u504f\u5dee\u3002\u7bad\u5934\u8868\u793a\u7531\u9ad8\u4f4d\u5230\u4f4e\u4f4d\u7684\u8d8b\u52bf\u3002

一十进制就是逢十进一(0,1,2,3,4,5,6,7,8,9,后面就要进位才能表示了)
十六进制就是逢十六进一(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,后面就要进位才能表示了)

所谓进制就是单个数不能表示时要用二位数及二位数以上的数表示的处理办法.其实可以任意进制,只是要用起来方便罢了,比如时间就是60进制,纪年中的世纪是一百进度,圆的一周用度数表示时是360进制.

十进制: 34 就是 3 * 10^1 + 4 * 10^0
而在十六进制中: 34就是 3 * 16^1 + 4 * 16^0 (转换成十进制只需乘出
结果就行了,得52,即十六进制中的34为十进制中的52)

十进制化为十六进制就是除16的办法: 34除以16,得2余2,即为22,即十进制中的34
这十六进制中的22

(即:十六进制化成十进制是乘16,十进制化成十六进制是除16)
事实上,k(k是正整数)进制数逢k进一这么个意义,一个十进制数可写成
a(n)*10^n+...+a(1)*10+a(0)+a(-1)*10^(-1)+... (a(i)表示0—9中的某个数)
同样,k进制数有形式:
b(n)*k^n+...+b(1)*k+b(0)+b(-1)*k^(-1)+... (b(i)表示0—(k-1)中的某个数)
当一个k进制数要转化为十进制数时,用上式直接计算即可;而当十进制数要转化为k进制数时,则对其整数部分除k取余,对其小数部分则乘k取整,此过程下以十进制转化十六进制为例举一例:
十进制数1673.59375
1673/16=104...9 , 104/16=6...8 , 6/16=0...6;
0.59375*16=9.5 (取9), 0.5*16=8.0 (取8).
所以十进制数1673.59375转化为十六进制数后为: 986.98

二数的进制和进制转换

考虑一个10进制数123,数字1、2、3在这个数中的重要性是不一样的,3代表的是100的3倍,2代表101的2倍,而1代表的则是102的1倍。数学上把100,101和102称为对应数位上的权重(简称权),分别表示了对应位上的数字对整个数值的“贡献”。对于10进制数来说,各位权从小到大分别是100、101、102……,都是10的各次幂。对于各位上的数字,我们称为某权的系数,简称系数。

其他进制数也存在同样的问题,例如2进制数各位权重分别是2的各次幂,8进制数是8的各次幂等等。

需要说明的是,各种进制数都是人们为了理解数而进行的一种表述,在计算机计算过程中,是不存在进制这种概念的,对于C语言表示数的三种形式:0x12(16进制)、18(10进制)和022(8进制),在内存中都是一样的。

如果已经知道一个数k,在某种进制w条件下,计算各位的系数一般采用除余法,基本算法如下:

首先估计这个数的最大位数N
n = N,divisor = wn-1
b(n) = k / divisor, k = k % divisor,divisor = divisor /w,n --
如果n ==0算法结束 ,否则转3
例如对于C语言中的unsigned char 类型,最大可能为3位8进制数,如果已经知道一个数n=252,计算8进制的过程如下:

N =3
n = N,divisor = 8n-1 = 64
b(3) = 252 / 64 = 3, k = k % 64 =60,divisor = divisor /8 = 8,n -- = 2
b(2) = 60/8 = 7,k = k %8 =4,divisor = 8/8 =1,n = 1
b(1) = k / 1= 4 ,k=k %1 =0,divisor = 1/8,n = 0
n == 0算法结束
计算结果252就是8进制数0374

如果不按照上面的幂次方式规定各位数的权,也可以定义一些特殊的进制数。例如,我们按照从小到大顺序分别规定各位的权重分别为w(n),n=1,2,3....,(注意,必须满足w(n) | w(m),n<= m,也就是低位权必须能整除高位权)已知一个数计算各位系数也一样可以采用修正后的除余法。修正后的除余法为:

首先估计这个数的最大位数N
n = N,divisor = w(n)
b(n) = k / divisor, k = k % divisor,n--,divisor = w(n)
如果n ==0算法结束 ,否则转3
可见,当w(n) = bn时,这个修正的除余法就和开始的除余法等价了

如果需要在不同进制间转换,最简单的方法是先把一种不容易进行四则运算的进制转换成容易进行四则运算的10进制,然后利用除余法转换成给定的进制。例如对于022,很容易利用权的定义计算出他的10进制形式为2 * 81 + 2 * 80 = 18,转换成16进制利用除余法可以得到为0x12。

string s =a.tostring("D");
或者用一个{0:D}

先转成二进制(除16取余),然后在把二进制转成十进制

十进制基数10123=1*(102次方)+2*(101次方)+3*(100次方)=100+20+3
能理解吧
同理十六进制基数16
6d=6*(161次方)+d*(160次方)=6*16+13=96+13=109
其余数据算出来

Convert.ToInt32("36c84ef", 16)

  • 濡備綍杞崲16杩涘埗鏁颁负10杩涘埗鏁?
    绛旓細绗1浣嶏細 锛團锛16 = (1111) 2 绗2浣嶏細 (A) 16 = (1010) 2 绗3浣嶏細 (2) 16 = (0010) 2 寰楋細(2AF5)16=(0010.1010.1111.0101)2 3銆佸崄鍏繘鍒惰浆鍏繘鍒讹細鍏堝皢鍗佸叚杩涘埗杞负浜岃繘鍒讹紝鍐嶅皢浜岃繘鍒惰浆涓哄叓杩涘埗 4銆佷簩杩涘埗杞叓杩涘埗锛氬彇涓夊悎涓娉曪紝鍗充粠浜岃繘鍒剁殑灏忔暟鐐逛负鍒嗙晫鐐癸紝鍚戝乏锛堝悜鍙...
  • 鍗佸叚杩涘埗鎬庝箞杞崲鎴愬崄杩涘埗?
    绛旓細3銆佸崄鍏繘鍒惰浆鎹㈡垚鍗佽繘鍒剁殑鍏紡鏄細瑕佷粠鍙冲埌宸︾敤浜岃繘鍒剁殑姣忎釜鏁板幓涔樹互16鐨勭浉搴旀鏂癸紝鐒跺悗杩欎簺鏁板瓧鐩稿姞灏辨槸浜銆備緥1锛2AF5鎹㈢畻鎴10杩涘埗锛氱0浣嶏細5*16^0=5 绗1浣嶏細F*16^1=15*16^1=240 绗2浣嶏細A*16^2=10*16^2=2560 绗3浣嶏細2*16^3=8192缁 鏋滃氨鏄細5*16^0+15*16^1+10*16^2+2...
  • 鍗佸叚杩涘埗杞崲鎴愬崄杩涘埗鏁版庝箞绠?
    绛旓細鍗佸叚杩涘埗鏁拌浆鎹㈡垚鍗佽繘鍒鏁颁娇鐢"鎸夋潈鐩稿姞"娉曪紝鎶婂崄鍏繘鍒舵暟棣栧厛鍐欐垚鍔犳潈绯绘暟灞曞紑寮忥紝鐒跺悗鎸夊崄杩涘埗鍔犳硶瑙勫垯姹傚拰銆
  • 鍗佸叚杩涘埗鎬庝箞杞崲鎴愬崄杩涘埗
    绛旓細涓銆佽浆鎹㈢殑鎬濊矾鍒嗘瀽锛4涓2杩涘埗浣嶄负涓涓16杩涘埗鏁锛2杩涘埗1111涓16杩涘埗F锛2杩涘埗涓崈浣嶇殑1=8锛岀櫨浣嶇殑1=4锛屽崄浣嶇殑1=2锛屼釜浣嶇殑1=1锛屽皢鍚勪釜浣嶇殑鏁颁綔鐩稿簲杞崲鍐嶇浉鍔狅紝鐨勫埌鐨勬暟灏辨槸10杩涘埗鏁0-15锛屽彲杞绘澗杞崲鎴16杩涘埗銆傚01011100锛屽彲鐪嬫垚鏄袱缁2杩涘埗鏁0101鍜1100锛屽垯杩欎釜鏁板氨鏄16杩涘埗鐨5C銆備簩銆佷緥...
  • 16杩涘埗鏁拌浆鎹㈡垚10杩涘埗鏁版庝箞杞崲?
    绛旓細16杩涘埗杞10杩涘埗鍏紡鏄細鎶16杩涘埗鏁扮湅鎴愭湁涓綅鏁帮紝鍗佷綅鏁帮紝鐧句綅鏁般傚皢鈥滀釜浣嶆暟鈥濅箻涓16鐨0娆℃柟銆傚皢鈥滃崄浣嶆暟鈥濅箻涓16鐨1娆℃柟銆傚皢鈥滅櫨浣嶆暟鈥濅箻涓16鐨2娆℃柟銆傛渶鍚庡皢鎵鏈変笂闈㈠緱鍒扮殑鏁板姞璧锋潵灏辨槸鍏剁殑鍗佽繘鍒舵暟浜嗐傛暣鏁伴儴鍒嗭紝闄や互16鍙栦綑鏁帮紝鐒跺悗鎶婃墍寰楁暟鍐欐垚寰楁暟锛嬩綑鏁般傚皬鏁扮偣鍚庣殑閮ㄥ垎锛岃涔樹互16锛屼緷娆...
  • 鍗佸叚杩涘埗鎬庝箞杞寲涓哄崄杩涘埗
    绛旓細涓銆佸崄鍏繘鍒杞寲涓哄崄杩涘埗 1銆佺悊瑙e崄鍏繘鍒舵暟锛氬崄鍏繘鍒舵暟鐢0-9鍜孉-F缁勬垚锛屽叾涓瑼-F浠h〃10-15銆2銆杞崲鎴愬崄杩涘埗锛灏嗗崄鍏繘鍒舵暟涓殑姣忎竴浣嶅垎鍒箻浠16鐨刵娆℃柟锛屽叾涓璶鏄叾鎵鍦ㄤ綅缃殑搴忓彿锛屼粠鍙冲線宸︽暟銆傜劧鍚庡皢鎵鏈夌殑缁撴灉鐩稿姞锛屽緱鍒扮殑灏辨槸杩欎釜鍗佸叚杩涘埗鏁扮殑鍗佽繘鍒惰〃绀恒備簩銆佸崄鍏繘鍒剁殑瀹氫箟 鍗佸叚杩涘埗锛...
  • 鎬庝箞鎶婃暟瀛楀崄鍏繘鍒惰浆鎹㈡垚鍗佽繘鍒?
    绛旓細1銆侀鍏堟槑鐧16杩涘埗鏁锛堜粠鍙冲埌宸︽暟鏄0浣嶏紝绗1浣嶏紝绗2浣嶁︹︼級鐨勭0浣嶇殑鏉冨间负16鐨0娆℃柟锛岀1浣嶇殑鏉冨间负16鐨1娆℃柟锛岀2浣嶇殑鏉冨间负16鐨2娆℃柟锛屼緷娆¤繖鏍锋帓鍒椾笅鍘汇2銆佹槑鐧紸BCDEF琛ㄧず鐨勪簩杩涘埗鏁板瓧鍒嗗埆鏄10锛11锛12锛13锛14锛15銆3銆佸崄鍏杩涘埗杞崲鎴愬崄杩涘埗鐨勫叕寮忔槸锛氳浠庡彸鍒板乏鐢ㄤ簩杩涘埗鐨勬瘡涓...
  • 鍗佸叚杩涘埗鏁版庝箞杞崲鎴愬崄杩涘埗鏁?
    绛旓細鐐瑰嚮鈥鍗佽繘鍒鈥濓紝杈撳叆瑕佽浆鎹㈢殑鏁 4 鐐瑰嚮鈥滃崄鍏繘鍒垛濓紝鑷姩寰楀埌杞崲鍚庣殑鏁 渚嬪瓙 256 灏256杞崲涓哄崄鍏繘鍒锛 256/16 = 16 鍥犱负娌℃湁浣欐暟锛0浣滀负浣欐暟銆16闄や互16锛屽緱鍒1锛屾病鏈変綑鏁帮紝鍐嶆妸0浣滀负浣欐暟銆傛渶鍚庢垜浠煡閬1/16 灏忎簬涓锛屽氨灏1 褰撳仛浣欐暟锛屽洜姝ゅ緱鍒001锛岃浆杩囨潵鍙樹负 100銆100灏辨槸256鐨勫崄鍏繘鍒...
  • 鍗佸叚杩涘埗鏁拌浆鎹㈡垚鍗佽繘鍒鏁鎬庝箞杞崲?
    绛旓細鍏蜂綋鐨勮浆鎹㈡柟娉曟槸锛氶鍏堬紝鎶婃瘡涓浣嶄笂鐨鍗佸叚杩涘埗鏁拌浆鎹负鍗佽繘鍒鏁帮紝鍐嶄箻浠ュ搴旂殑鏉冨硷紝鍗虫妸姣忎竴浣嶄笂鐨勬暟瀛椾箻浠16鐨勭浉搴旀鏂癸紝鍏朵腑鏈浣庝綅涔樹互16鐨0娆℃柟锛屾浣庝綅涔樹互16鐨1娆℃柟锛屼互姝ょ被鎺ㄣ傜劧鍚庡皢鎵鏈夌粨鏋滅浉鍔犮備緥濡傦紝瑕灏嗗崄鍏繘鍒舵暟2AB杞崲涓哄崄杩涘埗鏁帮紝鎴戜滑鍙互鎸夌収浠ヤ笅姝ラ杩涜锛氬皢姣忎釜鍗佸叚杩涘埗鏁板瓧杞崲涓...
  • 鍗佸叚杩涘埗濡備綍杞寲涓哄崄杩涘埗
    绛旓細鍗佸叚杩涘埗杞寲涓哄崄杩涘埗鐨勬柟娉曟槸鎸夌収鏉冨煎睍寮姹傚拰銆傚叿浣撴楠ゅ涓嬶細鍗佸叚杩涘埗鏁拌浆鎹负浜岃繘鍒舵暟銆傚皢浜杩涘埗鏁拌浆鎹负鍗佽繘鍒鏁般備緥濡傦細鍗佸叚杩涘埗鏁 3A锛岃浆鎹负鍗佽繘鍒舵暟涓猴細3*16^1+10*16^0=48+10=58銆傜煡璇嗘墿灞 1.璁$畻鏈虹瀛﹁搴 鍦ㄨ绠楁満绉戝涓紝鍗佸叚杩涘埗鏄竴绉嶉潪甯稿父鐢ㄧ殑鏁板埗銆傚湪璁$畻鏈哄唴閮紝鏁版嵁閫氬父鏄娇鐢...
  • 扩展阅读:十六进制在线转换 ... 十六进制转float 在线 ... 十六进制颜色查询器 ... 十六进制计算器 ... 10.8转换成十六进制 ... 十六进制乘法详细步骤 ... 十六进制计算在线 ... 进制转换器 ... 十六进制对照表转成字母 ...

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