Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.05.2014, 17:02
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Перевод с десятичной в двоичную, восьмиричную, шестнадчатиричную систему счисления
Здравствуйте, подскажите может есть какая функция в jquery или как мне перевести с десятичной в двоичную, восьмиричную, шестнадчатиричную систему счисления числа?
Ответить с цитированием
  #2 (permalink)  
Старый 04.05.2014, 17:13
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Number.prototype.toString
Ответить с цитированием
  #3 (permalink)  
Старый 04.05.2014, 17:23
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Sweet,
написал вот так вот:
var n = $('#calcs').val();
$('#calcs').val(n.toString(2));
Неработает, пишет: Invalid number of parameters, expected 0
Ответить с цитированием
  #4 (permalink)  
Старый 04.05.2014, 17:41
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от Dark19 Посмотреть сообщение
написал вот так вот:
var n = $('#calcs').val();
$('#calcs').val(n.toString(2));
Неработает, пишет: Invalid number of parameters, expected 0
Попробуй так:
var n = +$('#calcs').val();
$('#calcs').val(n.toString(2));

И #calcs это что? Инпут? И что в нем находится?
Ответить с цитированием
  #5 (permalink)  
Старый 04.05.2014, 17:52
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Сообщение от jsnb Посмотреть сообщение
Попробуй так:
var n = +$('#calcs').val();
$('#calcs').val(n.toString(2));

И #calcs это что? Инпут? И что в нем находится?
Да это инпут, там числа (скрипт калькулятора)написал так как Вы сказали, работает, но переводит как-то не так, вроде. Перевожу двойку в двоичную систему выдает 10110, должно же 10 вывести?
Ответить с цитированием
  #6 (permalink)  
Старый 04.05.2014, 17:56
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от Dark19 Посмотреть сообщение
Да это инпут, там числа (скрипт калькулятора)написал так как Вы сказали, работает, но переводит как-то не так, вроде. Перевожу двойку в двоичную систему выдает 10110, должно же 10 вывести?
Не знаю, что ты там написал, но вот так работает:
<!DOCTYPE HTML>
<html>
  <head>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
  </head>
  <body>
<input type="text" id="calcs">
<input type="button" id="butt" value="bin">
<script>
$('#butt').click(function(){
  var n = +$('#calcs').val();
  $('#calcs').val(n.toString(2));
});
</script>
  </body>
</html>

Для надежности еще можно сделать
n = parseInt(n, 10);

Последний раз редактировалось jsnb, 04.05.2014 в 17:59.
Ответить с цитированием
  #7 (permalink)  
Старый 04.05.2014, 17:59
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

jsnb,
Вот мой код:
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link type="text/css" rel="stylesheet" href="calculate.css"/>
    <script type="text/javascript" src="jquery.js"></script>
    <script src="calculate.js"></script>

</head>
<body>
    <div id="calculator">
        <div class="clr">
        <input id="calcs" type="text"/>
            </div>
        <div class="clr">
            <button class="button perevod">2</button>
            <button class="button perevod">8</button>
            <button class="button perevod">16</button>
            <button class="button perevod">32</button>
        </div>
        <div class="clr">
            <button class="button oneclick">+</button>
            <button class="button oneclick">-</button>
            <button class="button oneclick">/</button>
            <button class="button oneclick">*</button>
        </div>
        <div class="clr">
            <button class="button">1</button>
            <button class="button">2</button>
            <button class="button">3</button>
            <button class="button">4</button>
        </div>
        <div class="clr">
            <button class="button">5</button>
            <button class="button">6</button>
            <button class="button">7</button>
            <button class="button">8</button>
        </div>
        <div class="clr">
            <button class="button">9</button>
            <button class="button">0</button>
            <button id="calculate">=</button>
            <button id="clear" class="button">c</button>
        </div>
    </div>
</body>
</html>



/**
 * Created by Pashka on 29.04.14.
 */
$(document).ready(function(){
    $('.button').click(function(){
        $('#calcs').val($('#calcs').val() + $(this).html());
    });
    $('#clear').click(function(){
        $('#calcs').val('');
    });
    $('#calculate').click(function(){
        $('#calcs').val(eval($('#calcs').val()));
    });

    $('.perevod').click(function(){
        var n = +$('#calcs').val();
        $('#calcs').val(n.toString(2));
    });

    $('input').keypress(function(e) {
        var verified = (e.which == 8 || e.which == undefined || e.which == 0) ? null : String.fromCharCode(e.which).match(/[^0-9]/);
        if (verified) {
            e.preventDefault();
        }
    });

});


Оно то работает, но как-то не совсем правильно, ведь 2 в двоичной системе будет 10, а не 10110?
Ответить с цитированием
  #8 (permalink)  
Старый 04.05.2014, 18:05
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

jsnb,
Работает, только учитывает символы те, что прописаны в самой кнопке в html. Я сделал пустую кнопку и так работает. А как сделать чтобы не учитывало символы из html?
Ответить с цитированием
  #9 (permalink)  
Старый 04.05.2014, 18:07
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

jsnb,
все, я понял, там класс button мешал, спасибо)
Ответить с цитированием
  #10 (permalink)  
Старый 18.06.2017, 23:25
Новичок на форуме
Отправить личное сообщение для ms-pro Посмотреть профиль Найти все сообщения от ms-pro
 
Регистрация: 18.06.2017
Сообщений: 3

Переводим из 10-чной в 2-чную систему счисления (на JS)
Вот, набросал на JS две функции. Из одной вызывается другая, другая иногда вызывает сама себя. В общем по-моему неплохо вышло. Может кому пригодится)
и так:

//декларируем две функции:

function add(razryad) {
	if (byte[razryad] === 0) { 
		byte[razryad] = 1;
	} else { 
		byte[razryad] = 0; 
		add(razryad + 1); 
		return;
	}
}

function binary(num) {
	var razryad = 0;

	for (var i = 0; i < num; i++) {
		add(razryad); 
	}
      /* для использования подхода следования байтов "big-endian" - применяем reverse()
	 для использования подхода следования байтов "little-endian" - reverse() - не применяем */
	byte.reverse();
	console.log(byte.join(" "));
	return;
}

//var byte = [0,0,0,0,0,0,0,0]; //1 байт (8 разрядов) максимум 255
//или можно например с таким "byte"
//var byte = [0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0]; //2 байта (16 разрядов) максимум 65535

//запускаем:

var byte = [0,0,0,0,0,0,0,0]; //1 байт (8 разрядов) максимум 255
binary(128); // результат: 0 1 0 1 0 0 0 1

var byte = [0,0,0,0,0,0,0,0]; //1 байт (8 разрядов) максимум 255
binary(10);  // результат: 0 1 0 1 0 0 0 0

var byte = [0,0,0,0,0,0,0,0]; //1 байт (8 разрядов) максимум 255
binary(128); // результат: 0 1 0 1 0 0 0 1

var byte = [0,0,0,0,0,0,0,0]; //1 байт (8 разрядов) максимум 255
binary(254); // результат: 0 1 1 1 1 1 1 1

var byte = [0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0]; //2 байта (16 разрядов) максимум 65535
binary(2017); // результат: 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0


... как то так

Последний раз редактировалось ms-pro, 26.08.2017 в 11:53.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод букв в двоичную систему счисления andrewvas Общие вопросы Javascript 19 08.03.2018 11:43
конвертер слов в двоичную систему счисления на javascript RUHA Общие вопросы Javascript 4 10.10.2011 20:24