![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
PascalC |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 19.10.2008 Репутация: нет Всего: нет |
Есть такой код: генерирует набор подмножеств в виде {A1, ..., Am}, где m от 1 до n
не совсем понятно, что обозначает запись вида 1<<n и k >>= 1 и еще k&0x1 это я так понял побитовое сложение с единицей? объясните пожалуйста, как работает данный код |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
||||
|
||||
PascalC |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 19.10.2008 Репутация: нет Всего: нет |
спасибо
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
k&0x1 - это побитовое "И", т.е. в данном случае выделение из k младшего разряда, фактически это получится флаг нечетности.
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
точно, а другими словами - умножает на два n раз. например ( 1 << 5 ) == 32 а смещение вправо - делит на 2 например ( 20 >> 2 ) == 5 |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
azesmcar, на троичной машине он будет умножать на 3^n а не на 2^n
поэтому эта операция называется сдвиг а не умножение\деление и не "на 1 бит" а "на 1 разряд" =\ |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
GoldFinch, вы видели троичные машины? звучит как научная фантастика
![]()
а где я говорил что эта операция называется деление? Добавлено через 6 минут и 3 секунды а вообще - это так..если уж играем в слова Бит (англ. binary digit)
http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82 и троичные машины по моему звучит странно. Это сообщение отредактировал(а) azesmcar - 26.3.2009, 10:30 |
||||
|
|||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Главное, чтобы поняли правильно. На самом деле сплошь и рядом кто как называет. Например тут - побитовый сдвиг назвали Тут - тоже Здесь применили смешанное название Здесь опять побитовый сдвиг Многие то так то так говорят, а как говорит стандарт - в прикрепленном файле (не дает акробат копировать) Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
mes, ну логичнее всего что на троичной платформе операция поразрядного сдвига будет сдвигать на троичные разряды, а не умножать\делить на 2
прям скажем не очень-то авторитетные источники а вот это лол) |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
тут говорится что операция смещение вправо называется делением или говорится что смещение вправо делит на два? думайте... |
|||
|
||||
Albor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 2 Всего: 9 |
GoldFish, для общего развития, в чём разница при двоичном представлении числа (ведь именно в таком виде число хранится в памяти)? Честно сказать, я не помню различий между этими терминами, правда курс ЦЭВМ изучался мною довольно давно, может с тех пор что-то изменилось. |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
а что тут именно вам показалось смешным? Добавлено @ 11:31
приведите авторитетные. А стандарт С++ для вас недостаточно авторитетен? Это сообщение отредактировал(а) azesmcar - 26.3.2009, 11:38 |
||||
|
|||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
в советской\российской терминологии (и на пост-советском пространстве наверное тоже) бит и двоичный разряд это разные понятия
двоичный разряд, десятичный разряд, разряд в позиционной системе счисления с целым основанием n - это величина которая может принимать n различных значений, и имеет некоторый вес зависящий от позиции разряда в числе бит - это единица измерения количества информации иногда битом называют двоичный разряд (по аналогии с зарубежным Binary digIT), и наверное в ряде случаев это допустимо, но правильнее называть двоичный разряд двоичным разрядом пример различия этих терминов - "в переменой типа bool 32 (двоичных) разряда" "в переменой типа bool 1 бит (информации)" Добавлено через 2 минуты и 16 секунд мы же пишем "бит" а не "bit", русского перевода стандарта С++ вроде бы нет |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
неа.. не логично, потому что операция - двоичный сдвиг ( сдвиг двоичного разряда ) первое правильнее, именно на один бит, а не на некий абстрактный разряд. Это сообщение отредактировал(а) mes - 26.3.2009, 13:01 |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
||||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
что-то я не припомню чтобы автор описывал что такое двоичный триггер. Это описано вот тут и описано довольно таки на уровне..если у вас есть замечания - приводите аргументы, не бросайтесь словами - "автор не знает что такое триггер". Я во всяком случае считаю что знаю и согласен с тем что описывает вышеупомянутая ссылка.
вы утверждаете что бит и bit - разные слова и имеют разные значения? |
||||
|
|||||
Albor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 2 Всего: 9 |
Вобщем то, не стоит спорить, так как на эти термины есть разные взгляды http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
как на них не смотри..операция << называется операцией двоичного сдвига. т.е. вести себя она должна по любому так же как ведет на любой другой платформе..я уж не говорю о том что троичные компьютеры - это давняя разработка - причем ее давно оставили, хотя и предполагают к ней вернутся "когда нибудь в будущем". |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 8 Всего: 56 |
в последнее время эта ветка просто заполонена словоедами и оптимизаторами. Господа, может быть не будем отвлекатся, а будем отвечать на посталенные вопросы, без показывания всем, вашей блестящей эрудиции
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Собственно именно это я хотел сказать. ![]() Главное, что ТС понял о чем речь. |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
а я плохо представляю себе работу синхрофазатрона, но все же он работает ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
там ошибку внес при редактировании и сразу не заметил так как отвлекли.. исправил a как относитесь к двоичному И. Та же самая логика названия. Это сообщение отредактировал(а) mes - 26.3.2009, 13:14 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |