Побитовый левый сдвиг
Здравствуйте все.
Столкнулся с проблемой "типов данных" в JS Сразу приведу примеры чтоб было понятно, что именно не получается Код на С, дающий необходимый(верный) результат: unsigned char byte = 70; byte <<= 4; // теперь byte == 96 аналогичный код на JS: var byte = 70; byte <<= 4; // теперь byte == 1120 Вся проблема в том, что byte в С это 8 бит, а в JS byte занимает 32 бита. Как получить необходимый результат(96) средствами яваскрипта? PS Использую NodeJS |
otRock,
а можно ради интереса ещё несколько пар типа 70 - 96? |
рони,
01000110 (70) << 4 01100000 (96) |
danik.js,
мне надо 50 --- ?? 8 ---??? и тд сколько это будет на C |
:write:
вариант ))) function c8(d) { return parseInt(/\d{8}$/.exec((""+d.toString(2)))[0], 2) } alert(c8(1120)); |
аналогичный код на JS:
var byte = 70; alert(byte << 4 & 255); // теперь byte == 96 |
рони,
:) легких путей не ищем |
devote,
Спасибо! То, что надо!) |
Часовой пояс GMT +3, время: 07:40. |