var d = 7;Установка определенных битов в числе
в двоичной системе: 7 = (111)
То, что я хочу сделать, это установить второе место справа на 1 или 0 в распоряжении,
и возвращает десятичное значение.
Например, если я хочу, чтобы сделать второй от 1 до 0, то после того, как процесс должен возвращать 5,
потому, что 5 = (101).
Как реализовать это в javascript?
EDIT
ответ должен быть что-то вроде этого:
function func(decimal,n_from_right,zero_or_one)
{
}
Где десятичное число подлежащих обработке, n_from_right это сколько бит из правой, в моем примере выше это 2 . zero_or_one означает, что этот конкретный бит установлен в 0 или 1.
+1 - отличный ответ, хорошо объясненный –
Я не понимаю? '~ 2! == parseInt (" 1111111111111101 ", 2)' –
@MichaelTheriot: я немного упростил ответ, побитовые операторы работают с 32-разрядными номерами, поэтому для получения более четкого 16-го значения. Однако цифры все еще не совпадают, потому что '~ 2' -' -3' и 'parseInt (" 11111111111111111111111111111101 ", 2)' is '4294967293'. Поскольку побитовые операторы работают с 32-битными номерами, а '4294967293' слишком велик, чтобы поместиться в 32 бита, он будет преобразован в' -3' в операции. (Ну, это действительно преобразуется в двоичное представление числа, но оно выдается как '-3' при обратном обращении.) – Guffa