Другие языки программирования и технологии

Кто знает, по какому принципу осуществляются логические операции над числами?

Например, почему 254 И 1 будет нульа 239 И 1 будет один?!Или 239 ИЛИ 1 будет 239?!Может какие-нить ссылки посоветуете по теме?
Почитай книги с булевая алгебра.
Теперь по вопросу.
Берем число 254 (dec)
в бинарном коде 1111 1110 (bin)
1 (dec) 0000 0001 (bin)
теперь элемент «И» это как если бы
1*1=1 1 И 1 = 1
1*0=0 1 И 0 = 1
0*0=0 0 И 0 = 0

теперь по битно

1бит2бит3бит4бит5бит6бит7бит8бит
11111110
И00000001
равно00000000

239 (dec) 1110 1111 (hex)
теперь о элементе «ИЛИ» это тоже самое что
1+1=1 1 ИЛИ 1 = 1
1+0=1 1 ИЛИ 1 = 1
0+0=0 0 ИЛИ 0= 0

1бит2бит3бит4бит5бит6бит7бит8бит
11101111
ИЛИ00000001
равно11101111

Вот.
W.w P.
W.w P.
2 960
Лучший ответ
Дмитрий Щёкотов Спасибо! все, ваши два последних ответа внесли ясность. Еще раз, большое спасибо!!!
Я думаю, что программисты знают. А книги (учебники) читать не пробовал?
Dmitry Illarionov
Dmitry Illarionov
22 302
Ну во первых, насколько я поняла речь идет о ПОБИТОВЫХ операциях, а НЕ о ЛОГИЧЕСКИХ.
Это две большие разницы, как говорят в Одессе :-))
Дело в том, что компьютер работает с двоичной системой счисления, поэтому все числа и символы представлены набором 0 и 1.
Минимальный набор с которым работает комп состоит из 8 знаков (это называется в информатике 1 байт) .
Самое маленькое число, которое может быть представлено в этом наборе 00000000 (ноль) ,
а самое большое 11111111 (255).
НО! старший бит (самый левый) отводится под хранение ЗНАКА (т. е положительное число или отрицательное) , поэтому под само число отводится только 7знаков.
Предположим вы работаете с беззнаковыми числами.
Тогда 254 в двоичном виде представлена как 11111110, а единица как 00000001.
Результат побитового И тогда и только тогда единица когда ОБА бита равны единице.
в нашем случае
11111110
00000001
в результате все биты 00000000, что соответсвует десятичному 0(нулю) , поэтому на экране ноль :-))
с остальным числами тоже.

Теперь побитовое ИЛИ. Результат побитового ИЛИ тогда и только тогда ноль когда ОБА бита равны нулю.
Вот и весь ответ на ваш вопрос :-))
Стас Маслов
Стас Маслов
17 777
Дмитрий Щёкотов СпасибО!! все, разобрался!=)
перевести число в бинарный (двоичный) вид и поразрядно прооперировать (=
не поняла твоего вопроса, если напишишь, что тебе именно надо помогу тебе!

Похожие вопросы