powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Непонятный монстр! Проблема с операторами!
16 сообщений из 16, страница 1 из 1
Непонятный монстр! Проблема с операторами!
    #38924436
adimmat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, Друзья!
Битый час ломаю голову над одной проблемой, хочу понять, что значит выражение
Код: javascript
1.
var bitN=idx>>n&1

, никак не получается! В чем логика? Копаясь в инете,я нашел, что >> это побитый сдвиг в право, а на счет работы строки целиком, никак!
Я не спец в JS, поэтому обратился к вам!
Надеюсь на вас, спасибо!
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924468
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adimmat , ты не один, кто не работал с побитовыми операциями...

Для понимания происходящего, просто посмотри чему равны переменные "до" этой строки и "после". Может после этого и сакраментальный смысл и проявится. ;)
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924481
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adimmatВ чем логика?
В таком вот своеобразном преобразовании операнда
JavaScript.ruНапример, 9 >> 2 даст 2
Код: javascript
1.
2.
3.
4.
5.
6.
9 (по осн.10)
  = 00000000000000000000000000001001 (по осн.2)
                  --------------------------------
9 >> 2 (по осн.10)
  = 00000000000000000000000000000010 (по осн.2) 
  = 2 (по осн.10)


Аналогично, -9 >> 2 даст -3, так как знак сохранен:
Код: javascript
1.
2.
3.
4.
5.
-9 (по осн.10)
  = 11111111111111111111111111110111 (по осн.2)
                   --------------------------------
-9 >> 2 (по осн.10)
  = 11111111111111111111111111111101 (по осн.2) = -3 (по осн.10)
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924484
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adimmat , в той строке еще и "побитовое И" есть...
http://learn.javascript.ru/bitwise-operators#побитовое-и
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924537
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,
1. согласно приоритетам операций сначала выполняется >>, потом &.
2. Результат операции >> сравнивается с 1; если ==1 то true, иначе false;
3.idx-это число, которое сравниваем,n-это степень двойки.

т.е выражения типа 4>>2&1; 8>>3&1; 16>>4&1-дают true; остальное false. Для чего это нужно-это вопрос уже самой задачи.
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924578
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunaksergeyсогласно приоритетам операций сначала выполняется >>, потом &.
Так кто спорит-то?
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924583
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunaksergeyДля чего это нужно-это вопрос уже самой задачи.
Нидзя стайл!
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924591
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> adimmat,
> Битый час ломаю голову над одной проблемой, хочу понять, что значит выражение
> var bitN=idx>>n&1

Установлен ли `n'-ный бит в маске `idx'.
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924606
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища> adimmat,
> Битый час ломаю голову над одной проблемой, хочу понять, что значит выражение
> var bitN=idx>>n&1

Установлен ли `n'-ный бит в маске `idx'.давайте еще обсудим, что такое бит и маска :) информатики фиговы
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924623
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> skyANA,
> давайте еще обсудим, что такое бит и маска :) информатики фиговы

маска

*pockerface
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924627
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsakunaksergeyДля чего это нужно-это вопрос уже самой задачи.
Нидзя стайл!
может быть проверка бита в маске, а может быть задачка?"Является ли число n степенью числа idx". Без контекста точно ниндзя.
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924635
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunaksergeykrvsaпропущено...

Нидзя стайл!
может быть проверка бита в маске, а может быть задачка?"Является ли число n степенью числа idx". Без контекста точно ниндзя.а название переменной за контекст не сойдет? :)
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924638
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAдавайте еще обсудим, что такое бит и маска :)
Я такое использовал более 15-ти лет назад, когда читал данные самодельной клавиатуры, воткнутой в широкий COM-порт...
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924642
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,
доверяй, но проверяй..
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38924674
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> kunaksergey,
> может быть проверка бита в маске, а может быть задачка?" Является ли число n степенью числа idx ".

Скажи веществам НЕТ.
...
Рейтинг: 0 / 0
Непонятный монстр! Проблема с операторами!
    #38932822
neartch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,

сложновато с оперативами. крыша едет)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Непонятный монстр! Проблема с операторами!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]