Побитовый левый сдвиг
Здравствуйте все.
Столкнулся с проблемой "типов данных" в 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, время: 08:47. |