【发布时间】:2017-09-11 16:44:59
【问题描述】:
我正在编写一些代码(javascript)来将基数为 10 的数字更改为基数 16。如果余数在 10 到 15 之间,我知道基数 16 有字母。这就是我遇到问题的地方。我不能把余数改成字母。
到目前为止,这是我所拥有的:
var mynum = 4053,remainder=[];
while (mynum > 0) {
total = mynum % 16;
remainder.push(total);
mynum = Math.floor(mynum / 16);
switch (total > 9 || total < 16) {
case total === 10:
total = "A";
break;
case total === 11:
total = "B";
break;
case total === 12:
total = "C";
break;
case total === 13:
total = "D";
break;
case total === 14:
total = "E";
break;
case total === 15:
total = "F";
break;
}
}
console.log(total,remainder)
假设“mynum”= 4053,那么我会得到 5,13,15。但我想得到 5,D,F。我也尝试使用“for”循环但得到了同样的结果。感觉就像我很接近但只是错过了一些东西,有人可以帮助我吗?
mynum 是实际数字,total 是余数,“remainder”是我将余数放在列表中的位置
【问题讨论】:
-
我给你做了一个你也可以做的 sn-p。
-
hex = 4053..toString(16);
标签: javascript