Библиотека knigago >> Компьютеры: Языки и системы программирования >> C, C++, C# >> Изучаем Си


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1946, книга: Делаем сами 2013 №13(298)
автор: журнал «Делаем сами» (Толока)

Делаем сами 2013 №13(298) Журнал «Делаем сами» (Толока) Дом и семья: прочее Журнал «Делаем сами 2013 №13(298)» является очередным выпуском популярного журнала по строительству и ремонту. Номер состоит из разнообразных статей и проектов, которые помогут домовладельцам и мастерам в создании и улучшении своих домов. Журнал охватывает широкий спектр тем, включая: * Строительство и ремонт коттеджей и квартир * Оформление интерьеров * Системы инженерных сетей * Строительство хозяйственных...

Александр Борисович Крупник - Изучаем Си

Изучаем Си
Книга - Изучаем Си.  Александр Борисович Крупник  - прочитать полностью в библиотеке КнигаГо
Название:
Изучаем Си
Александр Борисович Крупник

Жанр:

C, C++, C#

Изадано в серии:

неизвестно

Издательство:

Питер

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Изучаем Си"

Аннотация к этой книге отсутствует.

Читаем онлайн "Изучаем Си". [Страница - 3]

которых находится в одном из
двух состояний: верхнем (его часто обозначают единицей) или
нижнем (его обозначают нулем). В ячейке машины таких
переключателей, как правило, восемь (каждый переключатель
называют битом и говорят, что в ячейке 8 бит или 1 байт). То,
что мог бы увидеть мальчик, открыв дверцу ячейки, показано
на рис. 1.1

Рис. 1.1. Внутренности ячейки

Чтобы не рисовать каждый раз внутренности ячейки,
положение переключателей обозначают цифрами. Содержимое
ячейки, показанное на рис. 1.1, может быть представлено в
виде последовательности нулей и единиц:
1 0 0 0 1 1 0 0
Попробуем подсчитать, сколько разных чисел способна
вместить такая ячейка. Для этого вообразим ячейку, в которой
всего один переключатель c двумя состояниями: 1 и 0 (ВЕРХ и
НИЗ). Значит, в такой ячейке могут храниться два числа. Если
теперь добавить к ячейке еще один переключатель, число ее
состояний удвоится: теперь на каждое состояние первого
переключателя приходится два состояния второго. Значит, в
ячейке из двух переключателей всего 4 состояния, в ячейке из

4

трех переключателей — 8 (для каждого из четырех состояний,
в которых может находиться ячейка из двух переключателей,
есть два состояния третьего переключателя), а в ячейке из
восьми переключателей (битов) число возможных состояний
уже 2×2×2×2×2×2×2×2=256.
Значит, в ячейку из восьми бит можно записать числа от 0 до
255 (всего 256). Чтобы это сделать, можно, например,
пронумеровать все состояния ячейки и считать, что 57-е
состояние соответствует числу 57. Но проще воспользоваться
позиционным представлением чисел, с объяснения которого
начинается школьный курс информатики. Суть его в том, что
каждому биту приписывается определенный вес: крайний
правый бит это 1(20), второй справа бит — 2 (21),третий справа
— 4 (22), четвертый — 8 (23), пятый — 16 (24), шестой — 32
(25), седьмой — 64 (27), восьмой — 128 (28). Как видим, вес
каждого бита — это двойка, возведенная в степень, показатель
которой равен расстоянию от правого края числа. Первый
справа бит находится на нулевом расстоянии и поэтому его вес
равен 20. Вес второго справа бита равен 21 и т.д. Чтобы понять,
какое число записано в ячейке, нужно просуммировать
произведения весов на значения самих битов. Так, число
10000001 равно
1*28+0*27+0*26+0*25+0*240*23+0*22+0*21+1*20= 128+1=129,
а число 01010101 равно 64+16+4+1=85.
Когда в предыдущем разделе нашему мальчику нужно было
поместить в ячейку 1 число 2, он, открыв дверцу ячейки, видел
перед собой не просто ящик с клочком бумаги, а набор
переключателей, положение которых может быть любым
(говорят, что в этом случае ячейка содержит «мусор»). Задача
мальчика (поместить число 2 в ячейку 1) состоит в том, чтобы
установить второй справа переключатель в верхнее
положение, все же остальные — в нижнее. Это и будет
записью числа 2 в ячейку 1. В результате выполнения первой
программы в ячейке 3 окажется число пять, то есть 4+1:
00000101.
Теперь мы понимаем, что внутренности ячейки памяти
выглядят всегда как последовательность нулей и единиц,

5

независимо от того, что в них находится: число, буква или
адрес другой ячейки. Значит, для правильного выполнения
программы процессор должен знать, данные какого типа
хранятся в ячейках, и в соответствии с этим выполнять свою
работу.
Наш воображаемый мальчик узнавал о типе хранящихся в
ячейке данных из самой программы. Если он встречал команду
«поместить число 2 в ячейку 1», то устанавливал в верхнее
положение второй переключатель справа, остальные же
устанавливал в нижнее (или нулевое) положение. При
выполнении команды «поместить знак ‘2’, в ячейку 1» мальчик
поместит в ячейку число 50, то есть 00110010, потому что
знаки представляются в машине не так, как цифры.
Итак, в ячейках памяти есть только двоичные цифры, но в
зависимости от того, что (какой тип данных) хранится в
ячейке, эти цифры будут разными. С каждой ячейкой памяти
связан определенный тип.

Программирование и трансляторы
Не знаю, как вам, а мне уже становится жаль нашего мальчика
— ведь ему приходится бегать от ячейки к ячейке, читать
сначала команды, потом обращаться к ячейкам с данными,
снова переходить к командам. Возможно, малый рост не
позволяет ему добраться до всех ячеек, и ему приходится
двигать тяжелую приставную лестницу. И все это без
малейшего перерыва, пока не кончится программа.
Впрочем, жалость --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Изучаем Си» по жанру, серии, автору или названию:

Изучаем C#. Дженнифер Грин
- Изучаем C#

Жанр: C, C++, C#

Год издания: 2014

Серия: Head First O'Reely

Изучаем C# через разработку игр на Unity. Ферроне Харрисон
- Изучаем C# через разработку игр на Unity

Жанр: C, C++, C#

Год издания: 2022

Серия: Библиотека программиста

Изучаем C#. Дженнифер Грин
- Изучаем C#

Жанр: C, C++, C#

Год издания: 2022

Серия: Head First O’Reilly

Изучаем Ассемблер. Александр Борисович Крупник
- Изучаем Ассемблер

Жанр: Assembler

Год издания: 2005

Серия: КомпАс (Школьный клуб Компьютерный ас)