Как инвертировать байты? 100 => 011
Ожидание:
let inverted_number = ~4; // 3 Реальность: let inverted_number = ~4; alert(inverted_number); //-5 Как привести реальность к ожиданиям? |
Цитата:
https://learn.javascript.ru/bitwise-operators |
00000000000000000000000000000100 инвертируется в 11111111111111111111111111111011 |
Цитата:
let val = 4 val = val.toString(2).replace(/1|0/g, _ => !+_ ? 1 : 0 ) alert(val) |
Цитата:
function inv(n) { let p = 1; while (p <= n) p *= 2; return ~n & (p - 1); } alert(inv(4)); работает только для натуральных чисел |
Часовой пояс GMT +3, время: 21:15. |