Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перевод из шестнадцатиричной в двоичную систему (https://javascript.ru/forum/misc/61286-perevod-iz-shestnadcatirichnojj-v-dvoichnuyu-sistemu.html)

vitalik891 11.02.2016 20:57

Перевод из шестнадцатиричной в двоичную систему
 
<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?

рони 11.02.2016 21:13

vitalik891,
alert( parseInt("ff",16).toString(2))

рони 11.02.2016 21:23

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("Значение не является пакетом")}

vitalik891 11.02.2016 21:24

Это, конечно, здорово, но юзер может ввести и 26f245

рони 11.02.2016 21:27

Цитата:

Сообщение от vitalik891
но юзер может ввести и 26f245

и что?

vitalik891 11.02.2016 21:30

Либо я что-то не понимаю, либо у тебя значение не привязано к тому, что ввел юзер
var num1 = "26ff12"

рони 11.02.2016 21:55

vitalik891,
так возьми исправленный цикл в свой код и вводи что тебе нужно

vitalik891 11.02.2016 22:00

Понял, спасибо.
Если тебя не затруднит, объясни в чем была ошибка, ведь значения в массиве были такие же

рони 11.02.2016 22:04

vitalik891,
в нулевую ячейку заполнили и прыг во вторую , а кто первую будет заполнять которая otvet[1]

vitalik891 11.02.2016 22:06

Лолъ. Этот момент я не учел.
Благодарю :D


Часовой пояс GMT +3, время: 12:46.