设置
结果
生成结果...
生成结果...

概述

如何十进制转十六进制?

对于整数部分,用被除数反复除以 16,除第一次外,每次除以16均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。

对于小数部分,采用连续乘以基数 16,并依次取出的整数部分,直至结果的小数部分为 0 为止。故该法称“乘基取整法”

以下将十进制数 7562 转为十六进制:

除于 16
(整数)
余数
(十进制)
余数
(十六进制)
位次
7562/16 472 10 A 0
472/16 29 8 8 1
29/16 1 13 D 2
1/16 0 1 1 3

结果:756210 = 1D8A16

以下图表求十进制数 35631 对应的十六进制数:

除于 16
(整数)
余数
(十进制)
余数
(十六进制)
位次
35631/16 2226 15 F 0
2226/16 139 2 2 1
139/16 8 11 B 2
8/16 0 8 8 3

结果:3563110 = 8B2F16

十进制转十六进制转换表

十进制 十六进制
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
16 10
17 11
18 12
19 13
20 14
21 15
22 16
23 17
24 18
25 19
26 1A
27 1B
28 1C
29 1D
30 1E
40 28
50 32
60 3C
70 46
80 50
90 5A
100 64
200 C8
1000 3E8
2000 7D0
'+ _html +'

'+txt+'

' $("#resultDesc2").html(txtCode); } function str2num(s) { s=s.toString().trim().replace(/(\d)(\s+)(?=\d)/gm,"$1+").replace(/[^-()\d/*+.]/g, ''); var ineg=s.indexOf("-"); var isOp=/[+*\/]/.test(s); if( !isOp && ineg<1 ) return s; if( s=='' ) return 0; return Function('"use strict";return ('+s+')')(); } function convert() { var dec = str2num($("#userInput").val()); //var dec = document.calcform.x.value; try { var x = new BigNumber(dec, 10); } catch(err) { return; } var y = x.toString(16).toUpperCase(); var y5 = x.toString(2); var y2; var t1 = new BigNumber("-8000000000000000",16); var t2 = new BigNumber("7FFFFFFFFFFFFFFF",16); var t3 = new BigNumber("10000000000000000",16); if( x.isInteger() && x.gte(-32768) && x.lte(32767) ) { y2 = new BigNumber(x, 10); if( x.lessThan(0) ) y2 = x.plus("10000",16); y2 = pad(y2.toString(16).toUpperCase(), 4); } else if( x.isInteger() && x.gte(-2147483648) && x.lte(2147483647) ) { y2 = new BigNumber(x, 10); if( x.lessThan(0) ) y2 = x.plus("100000000",16); y2 = pad(y2.toString(16).toUpperCase(), 8); } else if( x.isInteger() && x.gte(t1) && x.lte(t2) ) { y2 = new BigNumber(x, 10); if( x.lessThan(0) ) y2 = x.plus(t3); y2 = pad(y2.toString(16).toUpperCase(), 16); } else { y2 = "N/A"; } if( true ) { y = digitgroup(y,4," "); y2 = digitgroup(y2,4," "); y5 = digitgroup(y5,8," "); } decimal2base(dec,y,16); // document.getElementById("y").value = y; // document.getElementById("y2").value = y2; // document.getElementById("y5").value = y5; } function digitgroup(x, n, d) { if( x=="N/A" ) return x; var x0=x.split(".")[0]; var x1=x.split(".")[1]; var y=""; var x0head=""; var re=new RegExp("(.{"+n+"})","g"); if( x0!="" && x0!=undefined ) { if( x0[0]=="-" ) { y="-"; x0=x0.substring(1,x0.length); } x0head = x0.substring(0,x0.length%n); y += x0head; x0 = x0.substring(x0.length%n,x0.length); //x0 = x0.replace(/(.{4})/g,"$1 "); x0 = x0.replace(re,"$1 "); x0 = x0.substring(0,x0.length-1); if( x0head!="" && x0!="" ) y+=d; y += x0; } if( x1!="" && x1!=undefined ) { y += "."; //y += x1.replace(/(.{4})/g,"$1 "); y += x1.replace(re,"$1 "); } return y; }
进制换算工具