Оператор дополнения one: ~
Синтаксис
~ cast-expression
Замечания
Оператор дополнения (~
), иногда называемый побитового оператора дополнения , дает побитовое дополнение одного из его операндов. То есть каждый бит, равный в операнде 1, в результате становится равным 0, а каждый бит, равный в операнде 0, в результате становится равным 1. Операнд оператора дополнения до единицы должен быть целочисленного типа.
Оператор ключевое слово для ~
C++ указывает compl
в качестве альтернативной орфографии для ~
. В C альтернативная орфография предоставляется в виде макроса в заголовке <iso646.h> . В C++альтернативная орфография является ключевое слово; <использование iso646.h> или эквивалентное <C++ ciso646> не рекомендуется. В Microsoft C++ /permissive-
параметр или /Za
компилятор требуется для включения альтернативной орфографии.
Пример
// expre_One_Complement_Operator.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main () {
unsigned short y = 0xFFFF;
cout << hex << y << endl;
y = ~y; // Take one's complement
cout << hex << y << endl;
}
В этом примере новое значение, присвоенное переменной y
, является дополнением до единицы значения 0xFFFF без знака, т. е. значением 0x0000.
Над целочисленными операндами выполняется восходящее приведение целого типа. Тип операнда повышен до результирующий тип. Дополнительные сведения о целочисленном продвижении см. в разделе "Стандартные преобразования".
См. также
Выражения с унарными операторами
Встроенные операторы C++, приоритет и ассоциативность
Унарные арифметические операторы
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру