Освой самостоятельно С++ за 21 день.
Шрифт:
1 x 16384 = 0
1 x 32768 = 32768
Итого: 45527
Для преобразования этого числа в шестнадцатеричное вспомним граничные значения порядков в этой системе счислений:
65536 4096 256 16 1
Число 65 536 (значение пятого порядка) не укладывается в числе 45 527, в пятой позиции ставим 0. Число 4096 (значение четвертого порядка) укладывается в числе 45 527 одиннадцать раз с остатком 471. В остатке 471 число 256 (значение третьего порядка) укладывается один раз с остатком 215. В новом остатке 215 число 16 (значение
Проверим наши математические выкладки:
В (11) * 4096 = 45 056
1 * 256 = 256
D (13) * 16 = 208
7 * 1 = 7
Всего 45 527
Для проверки ускоренного метода перевода возьмем двоичное число 1011000111010111, разделим его на группы по четыре знака: 1011 0001 1101 0111. Каждая из четырех групп затем преобразуется в шестнадцатеричное число:
1011 =
1 x 1 = 1
1 x 2 = 2
0 x 4 = 0
1 x 8 = 8
Всего: 11
Шестнадцатеричное: В
0001 =
1 x 1 = 1
0 x 2 = 0
0 X 4 = 0
0 x 8 = 0
Всего: 1
Шестнадцатеричное: 1
1101 =
1 x 1 = 1
0 x 2 = 0
1 x 4 = 4
1 x 8 = 8
Всего: 13
Шестнадцатеричное: D
0111 =
1 X 1 = 1
1 X 2 = 2
1 x 4 = 4
0 x 8 = 0
Всего: 7
Шестнадцатеричное: 7
Итак, получаем шестнадцатеричное число B1D7
Приложение Г - Ответы
День 1
Контрольные вопросы
1. В чем разница между интерпретаторами и компиляторами?
Интерпретаторы считывают исходный код программы строка за строкой и преобразуют его непосредственно в машинные команды. Компиляторы преобразуют код источника в исполняемую программу, которая может быть выполнена в более позднее время.
2. Как происходит компиляция исходного кода программы?
Каждый компилятор имеет свои особенности. Обязательно ознакомьтесь с документацией, которая прилагается к вашему компилятору.
3. В чем состоит назначение компоновщика?
Задача компоновщика — связать скомпилированный код программы с элементами, взятыми из стандартных библиотек, предоставленных фирмой — изготовителем компилятора, и другими источниками. Компоновщик позволяет формировать отдельные модули программы, а затем соединять эти части в одну большую программу.
4. Какова обычная последовательность действий в цикле разработки?
Редактирование исходного кода, компиляция, компоновка, тестирование, повторение перечисленных выше действий.
Упражнения
1. Инициализирует две целочисленные переменные, а затем выводит их сумму и произведение.
2. Ознакомьтесь с документацией, которая прилагается к вашему компилятору.
3. В первой строке перед словом include нужно поместить символ #.
4. Эта программа выводит на экран слова Hello World, которые завершаются
символом разрыва строки.День 2
Контрольные вопросы
1. В чем разница между компилятором и препроцессором?
При каждом запуске компилятора первым запускается препроцессор. Он читает исходный код и включает указанные вами файлы, а также выполняет другие вспомогательные операции. Подробно функции препроцессора рассматриваются на занятии 18.
2. В чем состоит особенность функции main?
Функция main вызывается автоматически при каждом выполнении программы.
3. Какие два типа комментариев вы знаете и чем они отличаются друг от друга?
Строки комментариев в стиле C++ задаются двумя символами слеша (//), которые блокируют любой текст до конца текущей строки. Комментарии в стиле языка С заключаются в пары символов (/* */), и все, что находится между этими символами, блокируется от выполнения компилятором. Следует внимательно отнестись к использованию пар символов комментариев, чтобы не заблокировать целый блок программы.
4. Могут ли комментарии быть вложенными?
Да, комментарии в стиле C++ могут быть вложены внутрь комментариев в стиле С. Можно также комментарии в стиле С вкладывать внутрь комментариев в стиле C++, но при этом следует помнить, что комментарии в стиле C++ заканчиваются в конце текущей строки.
5. Могут ли комментарии занимать несколько строк?
Это позволено лишь комментариям в стиле С. Если же вы хотите продолжить на следующей строке комментарии в стиле C++, необходимо поставить в начале второй строки еще одну пару символов (//).
Упражнения
1. Напишите программу, которая выводит на экран сообщение I love C++.
1: #include <iostream.h>
2:
3: int main
4: {
5: cout << "I love C++\n";
6: return 0;
7: }
2. Напишите самую маленькую программу, которую можно скомпилировать, скомпоновать и выполнить.
int main { returna 0; }
3. Жучки: введите эту программу и скомпилируйте ее. Почему она дает сбой? Как ее можно исправить?
1: #include <iostream.h>
2: int main
3: {
4: cout << Is there a bug here?";
5: return 0;
6: }
В строке 4 пропущена открывающая кавычка для строкового выражения.
4. Исправьте ошибку в упражнении 3, после чего перекомпилируйте ее, скомпонуйте и запустите на выполнение.
1: #include <iostream.h>
2: int main
3: {
4: cout << " Is there а bug fiere?";
5: return 0;
6: }
День 3
Контрольные вопросы
1. В чем разница между целочисленной и вещественной (с плавающей точкой) переменными?