Страница: 1 | 2 |
Вопрос: Как сделать побитовое НЕ ?
Добавлено: 15.12.05 17:19
Автор вопроса: Александр | ICQ: 204034
Как на шестерке сделать побитовое НЕ? Напомню, что на Си - это знак ~.
Например, при unsigned byte (вроде так, сишники не бейте) берется от цифры 5 и выходит 250. То есть от верхней границы числа отнимается разница с нижней.
Так как это замутить?
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #1
Добавлено: 15.12.05 17:20
Примечание - простое NOT не предлагать
Номер ответа: 2
Автор ответа:
ANDREY
Вопросов: 0
Ответов: 33
Профиль | | #2
Добавлено: 15.12.05 17:26
Вот и не ясно, чем он тебя не устравивает?
Может тогда так подойдет: Not(Not(Not))?
Номер ответа: 3
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #3
Добавлено: 15.12.05 17:31
Простое not в любых вариантах не подходит..
Если есть у тебя C++, то проверь действия вот эти:
1) выведи ответ от !174
2) выведи ответ от ~174
И увидишь разницу
Номер ответа: 4
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #4
Добавлено: 15.12.05 17:39
как насчёт дополнения до единицы?
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 15.12.05 17:41
Хм... А мы тут уже С++ обсуждаем?
Номер ответа: 6
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #6
Добавлено: 15.12.05 17:44
2) выведи ответ от ~174
! - это логическое НЕ, а ~ - побитовое.
Ты сначала реши, какой из них тебе нужен, а?
Номер ответа: 7
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #7
Добавлено: 15.12.05 17:45
мне нужно побитовое, а это я andrey'ю объяснял
Номер ответа: 8
Автор ответа:
ANDREY
Вопросов: 0
Ответов: 33
Профиль | | #8
Добавлено: 15.12.05 17:55
БЛИН! Александр, ЧЕМ ТЕБЕ NOT НЕ НРАВИТЬСЯ??????
Чем он тебе не побитовый?
Номер ответа: 9
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #9
Добавлено: 15.12.05 18:07
Побитовый и обычный - разные вещи... rtfm
Номер ответа: 10
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #10
Добавлено: 15.12.05 18:11
В VB6 это одно и то же (собственно, rtfm, как ты верно заметил).
Единственное из этого следствие - в том, что нет short curcuit. Всё остальное совершенно так же.
Поэтому NOT.
Номер ответа: 11
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #11
Добавлено: 15.12.05 18:25
А все равно не будет работать так как надо.. Я уже пробовал
Номер ответа: 12
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #12
Добавлено: 15.12.05 18:29
По-моему это называется uchar.
I = 5
I = Not I
Debug.Print I
Выдает 250, как ты и сказал.
Номер ответа: 13
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #13
Добавлено: 15.12.05 18:43
Хочу это видеть.
Номер ответа: 14
Автор ответа:
ANDREY
Вопросов: 0
Ответов: 33
Профиль | | #14
Добавлено: 15.12.05 19:01
>А все равно не будет работать так как надо.. Я уже пробовал
Дайте угадаю. Он написал Msgbox not(5) и увидел число -6, что его сильно удивило.
Номер ответа: 15
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #15
Добавлено: 15.12.05 19:31
принцип дополнения до единицы:
not(n)+n=1