Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что означает строка в JavaScript / 10 сообщений из 10, страница 1 из 1
20.05.2005, 15:15
    #33077399
JeSert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
var value = (questions[m].code & questions[m].answers[n].mask) != 0;
мне непонятно значение &
...
Рейтинг: 0 / 0
20.05.2005, 15:22
    #33077420
Gurney
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
JeSert wrote:
> var value = (questions[m].code & questions[m].answers[n].mask) != 0;
> мне непонятно значение &
Побитовое И. То есть код проверяет установлен ли в questions[m].code
хотя бы один бит заданный маской questions[m].answers[n].mask.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
20.05.2005, 20:26
    #33078099
JeSert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
поясните на примере
code = 73771
mask = 32563
чего ждать?
...
Рейтинг: 0 / 0
20.05.2005, 20:56
    #33078123
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
8227 получится :)

Побитовое И, оно же бинарное сложение. Возьми любой учебник по информатике, бинарная логика объяснятеся в первых же главах.

А в твоем коде скорее всего ошибка - там должно быть && что будет являтся логическим И а не бинарным.
...
Рейтинг: 0 / 0
20.05.2005, 21:20
    #33078143
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
White Owl8227 получится :)

Побитовое И, оно же бинарное сложение. Возьми любой учебник по информатике, бинарная логика объяснятеся в первых же главах.

А в твоем коде скорее всего ошибка - там должно быть && что будет являтся логическим И а не бинарным.
Почему же ошибка?
value - логическая переменная. Если questions[m].code & questions[m].answers[n].mask не равно нулю, то value получит TRUE
...
Рейтинг: 0 / 0
20.05.2005, 21:23
    #33078146
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
А ошибка как раз у тебя. Нельзя сравнивать логическое значение (которое получится в результате questions[m].code && questions[m].answers[n].mask) и целое число 0. Хотя ЖабаСкрипт наверное и такое схавает и не подавится.
...
Рейтинг: 0 / 0
20.05.2005, 22:17
    #33078190
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
Ну про ошибку это я погорячился конечно, судя по именам переменных там делается проверка опросника...

А насчет всяких TRUE/FALSE это в тебе паскалист говорит. Все (за редчайшим исключением) языки берущие корни в C не имеют специальных TRUE/FALSE значений, а результатом логических операций является ноль или бинарное не ноль.

И не только в С, кстати. Например в Бейсике (оригальном) можно было дать команду: print 2*2=4 и получить в ответ -1. Отсюда кстати и пошел анекдот:
- Только программист может ответить на вопрос в котором уже дан ответ
- Это как?
- Чему равно дважды-два равно четыре?
- Минус единице конечно же!
А когда на землю пришел TurboPascal анекдот переделали в его современное звучание... Потому что любовь к жесткой типизации отучает понимать за счет чего эта типизация происходит.
...
Рейтинг: 0 / 0
20.05.2005, 22:48
    #33078204
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
Ну я и написал, что жаба это схавает. Но типизация паскаля, имхо, вещь приятная. Больше ошибок выявляется на стадии компиляции. И вообще, паскаль на меня благотворно повлиял наверное. Теперь объявление переменных пишу всегда в начале функции и снабжаю комментарием, зачем мне эта переменная:) А полное отсутствие типизации, как в ПХП/Перле людей развращает.
...
Рейтинг: 0 / 0
21.05.2005, 00:46
    #33078258
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
Ээээ, юноша. Это вы не видели совсем нетипизированых языков :)
В этих языках не обязательно объявление переменных, но когда они все же объявлены или автообъявлены по первому присвоению - у них есть тип.

А вот например в такой восхитительной штуке как Rexx типов нету принципиально. Все переменные в нем одного и только одного типа - строка. И для математических операций всегда делается перевод строки в число, сложение и перевод результата обратно в строку.

Жесткая типизация полезна на первых порах, пока еще не умеешь следить за этим сам. Потом она раздражает, потому что требует перегружать код функциями конвертации, которые ничего по сути не делают, а только транслятор успокаивают.
...
Рейтинг: 0 / 0
21.05.2005, 07:46
    #33078327
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что означает строка в JavaScript
Да нет. Видел я совсем нетипизированный язык. В нём есть только один тип данных - байт.
Язак зовётся ассемблером. Через дебаггер досовский. Так что за счёт чего сделана типизация знаю:) Наверное за счёт того, что в бинарнике, который дельфа выдаёт можно найти слово (напечатанное заглавными буквами) TRUE и слово FALSE. Когда сам нашёл, я чуть в обморок не упал.

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


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