Перевод из чисел в различные системы счисления
Добрый день!
Имеется следующий вопрос! Есть число в 10-ной системе счисления, его нужно перевести в 16-ричную. Делаю это так: var x = 11; x = x.toString(16); В ответе получу значение 'b'. Подскажите как придать полученному числу определённый формат? А именно необходимо чтобы в числе было 4 разряда, независимо от значения. Т.е. если я введу число 11 то на выходе хочу получить 000b, если введу число 32767 то хочу получить число 7fff. Спасибо! |
В голову пришел только такой дурацкий способ:
var op = {name: name, address: "0000"}; var number = m_Operands.length; var address = number.toString(16).toLowerCase() ; op.address = op.address.split(""); op.address[3] = address[0] != undefined? address[0].toString() : "0"; op.address[2] = address[1] != undefined? address[1].toString() : "0"; op.address[1] = address[2] != undefined? address[2].toString() : "0"; op.address[0] = address[3] != undefined? address[3].toString() : "0"; op.address = op.address[0].concat(op.address[1], op.address[2], op.address[3]); Если возникнут идее лучше - отпишитесь пожалуйста! |
|
function convert(n) { n = n.toString(16); return '0'.repeat(Math.max(4 - n.length, 0)) + n; }; alert( convert(11) ); alert( convert(24) ); alert( convert(32767) ); |
Именно то что искал! Спасибо!
|
Часовой пояс GMT +3, время: 10:09. |