![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
К поразрядным операциям относятся: операция поразрядного логического "И" (&), операция поразрядного логического "ИЛИ" (|), операция поразрядного "исключающего ИЛИ" (^).
Операнды поразрядных операций могут быть любого целого типа. При необходимости над операндами выполняются преобразования по умолчанию, тип результата — это тип операндов после преобразования.
Операция поразрядного логического И (&) сравнивает каждый бит первого операнда с соответствующим битом второго операнда. Если оба сравниваемых бита единицы, то соответствующий бит результата устанавливается в 1, в противном случае в 0.
Операция поразрядного логического ИЛИ (|) сравнивает каждый бит первого операнда с соответствующим битом второго операнда. Если любой (или оба) из сравниваемых битов равен 1, то соответствующий бит результата устанавливается в 1, в противном случае результирующий бит равен 0.
Операция поразрядного исключающего ИЛИ (^) сравнивает каждый бит первого операнда с соответствующими битами второго операнда. Если один из сравниваемых битов равен 0, а второй бит равен 1, то соответствующий бит результата устанавливается в 1, в противном случае, т.е. когда оба бита равны 1 или 0, бит результата устанавливается в 0.
Пример.
int i=0x45FF, /* i= 0100 0101 1111 1111 */
j=0x00FF; j= 0000 0000 1111 1111 */
char r;
r = i^j; /* r=0x4500 = 0100 0101 0000 0000 */
r = i|j; /* r=0x45FF = 0100 0101 0000 0000 */
r = i&j; /* r=0x00FF = 0000 0000 1111 1111 */
Дата публикования: 2015-01-13; Прочитано: 252 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!