Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.01.2013, 17:45
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

// символы в строке заменятся другими, справа налево
var buffer = "00000000000000";
var base = 2; // в какую систему


// строка для примера. покажем для неё коды символов
var letters = "Учи JS"; 
var i = 0;

while (i < letters.length) {

    var letter = letters.charAt(i++); // строка с длиной  в 1 символ

    var encoded = letter.charCodeAt().toString(base);

    var replaced = buffer.slice(0, buffer.length - encoded.length).concat(encoded);

    alert('Символ "' + letter + '"\nВ двоичной системе: "' + replaced + '"');

}
Ответить с цитированием
  #12 (permalink)  
Старый 02.01.2013, 17:47
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Да и вообще не ясно как вообще применить и главное посмотреть результат при применении.
~
>>
<<
>>>
Скажем взял я какой-нибудь символ и хочу посмотреть как он выглядит в двоичной системе в 16-ричной и 10-ричной.
А потом тоже самое хочу посмотреть со сдвигом, и с отрицанием и тд.
Ответить с цитированием
  #13 (permalink)  
Старый 02.01.2013, 17:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var a = '101';
var b = '11101';

function replac(a){
var z = '00000000';
var Len=a.split("").length;
a=z.substring(0,8-Len)+a;
return a;
}

a=replac(a)
alert(a)
b=replac(b)
alert(b)
Ответить с цитированием
  #14 (permalink)  
Старый 02.01.2013, 18:14
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Спасибо за ответ, просто я думал, может там как-то настроить можно это дело, а не вручную выправлять.
Если не сложно то, ответьте пожалуйста, как же мне со смещениями и тд. вывести результат
Ответить с цитированием
  #15 (permalink)  
Старый 02.01.2013, 19:11
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от platedz
Если не сложно то, ответьте пожалуйста, как же мне со смещениями и тд. вывести результат
http://javascript.ru/bitwise-operators
Ответить с цитированием
  #16 (permalink)  
Старый 02.01.2013, 20:07
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Я как раз вот это читаю
http://learn.javascript.ru/bitwise-operators

Пытаюсь вывести к примеру

var R = ("9");
var Rs = R + " - " + R.charCodeAt().toString(10) + " - " + R.charCodeAt().toString(2) + " - " + R.charCodeAt().toString(16) + "<br>";
Rs += "~ - " + ~(R.charCodeAt().toString(10)) + " - " + ~(R.charCodeAt().toString(2)) + " - " + ~(R.charCodeAt().toString(16)) + "<br>";
document.write(Rs);


А получаю
9 - 57 - 111001 - 39
~ - -58 - -111002 - -40

т.е. как минимум 111002 это явно не то, что я хотел увидеть
Ответить с цитированием
  #17 (permalink)  
Старый 02.01.2013, 20:11
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Т.е. я так понимаю, или & и | вывести нельзя, а остальные насколько я понял имеют отпределенное значение, только не понял, как их вывести таким способом.
Ответить с цитированием
  #18 (permalink)  
Старый 02.01.2013, 20:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

platedz,
Я не вник задачу - что у Вас на входе - приведите массив
И что должно получицо на выходе - приведите массив
Ответить с цитированием
  #19 (permalink)  
Старый 02.01.2013, 20:58
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

на входе у меня символ, я хочу получить ее в виде десятичного числа, двоичного и шестнадцатиричного, возьму только двоичный пока т.к. сразу видно из него, что получаю не то
var R = ("9");
alert(R.charCodeAt().toString(2));

Получил 111001
А теперь пытаюсь получить все тот же символ, но с побитовым не ~R

Но вместо 000110, как ожидаю получаю 111002.
Ответить с цитированием
  #20 (permalink)  
Старый 02.01.2013, 21:32
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

http://learn.javascript.ru/bitwise-o...овое-не

Так вот мне нужно в двоичном представлении именно из переменной R1, но, т.е. что-то навроде
R2 = ~R1;
И оба варианта получить в двоичной форме.
Т.е. я так понимаю если
var R1 = ("9"); в двоичной форме 111001;
то
var R2 = ~R1; в двоичной форме мне должно дать 000110;
но как не пробовал получить не могу.
Т.е. в обоих вариантах на входе переменная R1 c символом
А на выходе нужен тот же символ в двоичной форме и в двоичной форме с ~

Примерно как описано по ссылке

9 (по осн. 10)

= 00000000000000000000000000001001 (по осн. 2)

~9 (по осн. 10)

= 11111111111111111111111111110110 (по осн. 2)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работает CKEditor? ololosh Общие вопросы Javascript 9 20.12.2012 17:50
Долго работает алгоритм KamalovRadik Серверные языки и технологии 0 25.03.2012 23:28
При активации Disqus, не работает Nivo slider, как решить проблему? pinkfloyd Общие вопросы Javascript 0 30.05.2011 15:29
InnerHTML почему-то работает не так, как хотелось бы. помогите Dima00782 Общие вопросы Javascript 2 13.06.2010 21:17
Как работает обработчик onMouseMove() bayah Общие вопросы Javascript 3 29.04.2010 14:36