Перевод из шестнадцатиричной в двоичную систему
<script> var num1 = String(window.prompt("Введите ")) //otvet = num1.split( /(?=(?:\d{2})+$)/ ); var otvet = []; for(i = 0; i < num1.length; i+=2){ otvet[i] = num1.substring(i, i+2); } console.log(otvet); if(otvet[0]=="26"){ x = parseInt(otvet[1], 16).toString(2); console.log(x); }else{document.write("Значение не является пакетом")} </script> Юзер вводит значение типа 26ff12, оно разбивается на массив 26, ff, 12. Если первое значение массива равно 26, то ff должно быть переведено в двоичную систему. Как из FF получить 11111111? |
vitalik891,
alert( parseInt("ff",16).toString(2)) |
vitalik891,
var num1 = "26ff12" //otvet = num1.split( /(?=(?:\d{2})+$)/ ); var otvet = []; for(var i = 0; i < num1.length/2; i++){ otvet[i] = num1.substring(i*2, i*2+2); } console.log(otvet); if(otvet[0]=="26"){ x = parseInt(otvet[1], 16).toString(2); alert(x); }else{alert("Значение не является пакетом")} |
Это, конечно, здорово, но юзер может ввести и 26f245
|
Цитата:
|
Либо я что-то не понимаю, либо у тебя значение не привязано к тому, что ввел юзер
var num1 = "26ff12" |
vitalik891,
так возьми исправленный цикл в свой код и вводи что тебе нужно |
Понял, спасибо.
Если тебя не затруднит, объясни в чем была ошибка, ведь значения в массиве были такие же |
vitalik891,
в нулевую ячейку заполнили и прыг во вторую , а кто первую будет заполнять которая otvet[1] |
Лолъ. Этот момент я не учел.
Благодарю :D |
Часовой пояс GMT +3, время: 12:46. |