Часть II Основы языка
Часть II
Основы языка
Код программы и данные, которыми программа манипулирует, записываются в память компьютера в виде последовательности битов. Бит – это мельчайший элемент компьютерной памяти, способная хранить либо 0, либо 1. На физическом уровне это соответствует электрическому напряжению, которое, как известно, либо есть , либо нет. Посмотрев на содержимое памяти компьютера, мы увидим что-нибудь вроде:
00011011011100010110010000111011 ...
Очень трудно придать такой последовательности смысл, но иногда нам приходится манипулировать и подобными неструктурированными данными (обычно нужда в этом возникает при программировании драйверов аппаратных устройств). С++ предоставляет набор операций для работы с битовыми данными. (Мы поговорим об этом в главе 4.)
Как правило, на последовательность битов накладывают какую-либо структуру, группируя биты в байты и слова. Байт содержит 8 бит, а слово – 4 байта, или 32 бита. Однако определение слова может быть разным в разных операционных системах. Сейчас начинается переход к 64-битным системам, а еще недавно были распространены системы с 16-битными словами. Хотя в подавляющем большинстве систем размер байта одинаков, мы все равно будем называть эти величины машинно-зависимыми.
Теперь мы можем говорить, например, о байте с адресом 1040 или о слове с адресом 1024 и утверждать, что байт с адресом 1032 не равен байту с адресом 1040.
Однако мы не знаем, что же представляет собой какой-либо байт, какое-либо машинное слово. Как понять смысл тех или иных 8 бит? Для того чтобы однозначно интерпретировать значение этого байта (или слова, или другого набора битов), мы должны знать тип данных, представляемых данным байтом.
С++ предоставляет набор встроенных типов данных: символьный, целый, вещественный – и набор составных и расширенных типов: строки, массивы, комплексные числа. Кроме того, для действий с этими данными имеется базовый набор операций: сравнение, арифметические и другие операции. Есть также операторы переходов, циклов, условные операторы. Эти элементы языка С++ составляют тот набор кирпичиков, из которых можно построить систему любой сложности. Первым шагом в освоении С++ станет изучение перечисленных базовых элементов, чему и посвящена часть II данной книги.
Глава 3 содержит обзор встроенных и расширенных типов, а также механизмов, с помощью которых можно создавать новые типы. В основном это, конечно, механизм классов, представленный в разделе 2.3. В главе 4 рассматриваются выражения, встроенные операции и их приоритеты, преобразования типов. В главе 5 рассказывается об инструкциях языка. И наконец глава 6 представляет стандартную библиотеку С++ и контейнерные типы – вектор и ассоциативный массив.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 11 Основы языка JavaScript
Глава 11 Основы языка JavaScript 11.1. Работа с информацией11.2. Переменные и типы данных11.3. Выражения11.4. Условия и циклы11.5. Функции и события11.6. Встроенные объекты JavaScriptЭта глава является незаменимой для новичков, так как в ней разъясняются основные элементы языка JavaScript:
Глава 2. Основы веб-программирования с помощью языка HTML
Глава 2. Основы веб-программирования с помощью языка HTML Аббревиатура HTML знакома даже людям, которые по роду занятий далеки от веб-разработки. Она получила известность хотя бы потому, что адреса многих веб-страниц в Интернете заканчиваются расширением
Часть II Основы использования Ubuntu
Часть II Основы использования Ubuntu Глава 10 Обзор системы Начиная с этой главы я начну рассказывать собственно о работе в Ubuntu и об устройстве этой системы. Надеюсь, вы успешно справились с установкой и не испугались незнакомых операций и терминов, которыми она
Часть I Основы
Часть I Основы Прочти это и завтра утром скажи мне свое мнение…[1] Эрнест Хемингуэй, обращаясь к А. Е. Готхнеру, после завершения рассказа «Старик и море» Методика и цели работыВсе уроки первой части следует прорабатывать со всей тщательностью и именно в той
Часть II Основы Adobe InDesign
Часть II Основы Adobe InDesign Во второй части мы наконец приступим к изучению программы Adobe InDesign. Почему «наконец»? Потому что, как бы ни была важна первая часть нашей книги, многие читатели уже наверняка соскучились и ждут возможности применить знания на практике.Здесь вы
ГЛАВА 3. Основы языка C#
ГЛАВА 3. Основы языка C# Воспринимайте эту главу как коллекцию тем, посвященных основным вопросам применения языка C# и использования платформы .NET. В отличие от следующих глав, здесь нет одной ведущей темы, а предлагается иллюстрации целого ряда узких тем, которые вы должны
Часть I Основы Ubuntu
Часть I Основы Ubuntu Здесь мы рассмотрим основы Ubuntu — то, без чего невозможна нормальная работа с этим дистрибутивом. Кроме разъяснений, почему этот дистрибутив «самый-самый», мы опишем работу с LiveCD, установку дистрибутива, базовую настройку системы и многое
Часть I Основы работы в Интернете
Часть I Основы работы в Интернете