Приветствую Вас ГостьПятница, 03.05.2024, 12:21

AVR & ARDUINO




Каталог статей

Главная » Статьи » Справочник

Побитовое отрицание (~)

Символ тильды (~) в Си является операцией побитового отрицания (~). В отличие от & и |, побитовое отрицание применяется к одному операнду справа (унарная операция). Побитовое отрицание меняет каждый бит на свою противоположность: 0 становится 1, а 1 становится равным 0. Например:

0 1 операнд1
----------
1 0 ~операнд1 - результат
int a = 103; // в двоичном виде: 0000000001100111
int b = ~a; // в двоичном виде: 1111111110011000 = -104

Вы можете быть удивлены, увидев в результате этой операции отрицательное число -104. Это потому, что старшим битом в переменной типа INT является так называемый знаковый бит. Если старший бит равен 1, то число интерпретируется как отрицательное. Такое кодирование положительных и отрицательных чисел упоминается как дополнение.

В качестве отступления, интересно отметить, что для любого целого х, ~х то же самое, -х-1. Время от времени, бит знака в знаковом целом выражение может вызвать некоторые нежелательные сюрпризы.


Справочник

Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.



Источник: http://arduino.cc/en/Reference/BitwiseXorNot
Категория: Справочник | Добавил: magi (11.11.2014)
Просмотров: 1871 | Теги: отрицание | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Поиск
Вход на сайт
На правах рекламы

Мы переезжаем на сайт Arduino по-русски