Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Введення і виведення даних




Бітові операції.

 

Наприклад 1 | 2 в результаті дають 3 оскільки в двійковому вигляді 1 це 01, 2 - це 10, відповідно операція АБО дає 11 або 3 в десятковій системі (ми опустили нулі зліва).

Аналогічно виконуються порозрядні операції І, ВИКЛЮЧАЮЧЕ АБО і заперечення. Приклади:

3 | 1 результат 3

4 & 7 результат 4

4 ^ 7 результат 3

0 & 0xF результат 0

~0x00F0 результат 0xFF0F

 

Наприклад, двійкове представлення короткого цілого числа 3 -0000000000000011. Результатом операції 3 «2 (зрушення вліво) буде двійкове число 0000000000001100 або в десятковому записі 12. Аналогічно, зрушивши число 9 (у двійковому вигляді 0000000000001001) управо на 2 розряди (записується 9» 2) одержимо 0000000000000010, тобто 2.

При зрушенні вліво, число доповнюється нулями справа. При зрушенні управо біт, яким доповнюється число, залежить від того, знакове воно або беззнакове. Для беззнакових чисел при зрушенні управо вони завжди доповнюються нульовим бітом. Якщо ж число знакове, то значення найлівішого біта числа використовується для доповнення. Це пояснюється тим, що найлівіший біт якраз і є знаком - 0 означає плюс і 1 означає мінус.

Таким чином, якщо

short x = 0xFF00;

unsigned short у = 0xFF00;

то результатом x» 2 буде 0xFFC0 (двійкове уявлення 1111111111000000), а результатом у» 2 буде 0х3РС0 (двійкове уявлення 0011111111000000)

Для типу bool

// істина, якщо обидві змінні condl і cond2 істинні

condl && cond2

// істинно, якщо хоч би одна із змінних істина

condl || cond2

// результат протилежний значенню condl

! condl

Декілька попередніх зауважень про введення/виведення. У мові C++ немає вбудованих засобів введення/виведення — він здійснюється за допомогою функцій, типів і об'єктів, що містяться в стандартних бібліотеках. Використовується два способи: функції, успадковані з мови С, і об'єкти C++.

Основні функції введення/виведення в стилі С

int scanf (const char* format...) // введення

int printf(const char* format...) // виведення

Вони виконують форматоване введення і виведення довільної кількості величин відповідно до рядка формату format. Рядок формату містить символи, які при виведенні копіюються в потік (на екран) або запрошуються з потоку (з клавіатури) при введенні, і специфікації перетворення, що починаються із знаку %, які при введенні і виведенні замінюються конкретними величинами.

Приклад програми, що використовує функції введення/виведення в стилі С:

# include <stdio.h>

int main ()

{

int i;

printf ("Введіть ціле число\n");

scanf( "%d" &i);

printf ("Ви ввели число %d, спасибі!", i);

return 0;

}

Перший рядок цієї програми — директива препроцесора, по якій в текст програми вставляється заголовний файл <stdio.h>, що містить опис використаних в програмі функцій введення/виведення (в даному випадку кутові дужки є елементом мови). Всі директиви препроцесора починаються із знаку #.

Третій рядок — опис змінної цілого типу з ім'ям i.

Функція printf в четвертому рядку виводить запрошення «Введіть ціле число» і переходить на новий рядок відповідно до управляючій послідовності \n. Функція scanf заносить введене з клавіатури ціле число в змінну i (знак & означає операцію отримання адреси), а наступний оператор виводить на екран вказаний в ньому рядок, замінивши специфікацію перетворення на значення цього числа.

А ось як виглядає та ж програма з використанням бібліотеки класів C++:

# include < iostream. h>

int main ()

{

int i;

cout «"Введіть ціле число\n";

cin» i;

cout «"Ви ввели число " «i «", спасибі!";

return 0;

}




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 883; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.