Что такое сумма разрядов числа в информатике
Система счисления – это способ записи чисел. Обычно, числа записываются с помощью специальных знаков – цифр (хотя и не всегда). Если вы никогда не изучали данный вопрос, то, по крайней мере, вам должны быть известны две системы счисления – это арабская и римская. В первой используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и это позиционная система счисления. А во второй – I, V, X, L, C, D, M и это непозиционная система счисления.
В позиционных системах счисления количество, обозначаемое цифрой в числе, зависит от ее позиции, а в непозиционных – нет. Например:
11 – здесь первая единица обозначает десять, а вторая – 1.
II – здесь обе единицы обозначают единицу.
345, 259, 521 – здесь цифра 5 в первом случае обозначает 5, во втором – 50, а в третьем – 500.
XXV, XVI, VII – здесь, где бы ни стояла цифра V, она везде обозначает пять единиц. Другими словами, величина, обозначаемая знаком V, не зависит от его позиции.
Сложение, умножение и другие математические операции в позиционных системах счисления выполнить легче, чем в непозиционных, т.к. математические операции осуществляются по несложным алгоритмам (например, умножение в столбик, сравнение двух чисел).
В мире наиболее распространены позиционные системы счисления. Помимо знакомой всем с детства десятичной (где используется десять цифр от 0 до 9), в технике широкое распространение нашли такие системы счисление как двоичная (используются цифры 0 и 1), восьмеричная и шестнадцатеричная.
Следует отметить, важную роль нуля. «Открытие» этой цифры в истории человечества сыграло большую роль в формировании позиционных систем счисления.
Основание системы счисления – это количество знаков, которое используется для записи цифр.
Разряд — это позиция цифры в числе. Разрядность числа — количество цифр, из которых состоит число (например, 264 — трехразрядное число, 00010101 — восьмиразрядное число). Разряды нумеруются справа на лево (например, в числе 598 восьмерка занимает первый разряд, а пятерка — третий).
Итак, в позиционной системе счисления числа записываются таким образом, что каждый следующий (движение справа на лево) разряд больше другого на степень основания системы счисления. (придумать схему)
Одно и тоже число (значение) можно представить в различных системах счисления. Представление числа при этом различно, а значение остается неизменным.
Двоичная система счисления
В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)
Чтобы научиться понимать числа в двоичной системе счисления, сначала рассмотрим, как формируются числа в привычной для нас десятичной системе счисления.
В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.
Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.
Попробуем считать в двоичной системе:
0 – это ноль
1 – это один (и это предел разряда)
10 – это два
11 – это три (и это снова предел)
100 – это четыре
101 – пять
110 – шесть
111 – семь и т.д.
Перевод чисел из двоичной системы счисления в десятичную
Не трудно заметить, что в двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.
В десятичной системе счисления любое число можно представить в форме суммы единиц, десяток, сотен и т.д. Например:
1476 = 1000 + 400 + 70 + 6
Можно пойти еще дальше и разложить так:
1476 = 1 * 103 + 4 * 102 + 7 * 101 + 6 * 100
Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 — это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.
Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:
10001001 = 1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0
Если посчитать сумму составляющих, то в итоге мы получим десятичное число, соответствующее 10001001:
1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137
Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:
100010012 = 13710
Почему двоичная система счисления так распространена?
Дело в том, что двоичная система счисления – это язык вычислительной техники. Каждая цифра должна быть как-то представлена на физическом носителе. Если это десятичная система, то придется создать такое устройство, которое может быть в десяти состояниях. Это сложно. Проще изготовить физический элемент, который может быть лишь в двух состояниях (например, есть ток или нет тока). Это одна из основных причин, почему двоичной системе счисления уделяется столько внимания.
Перевод десятичного числа в двоичное
Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:
77 / 2 = 38 (1 остаток)
38 / 2 = 19 (0 остаток)
19 / 2 = 9 (1 остаток)
9 / 2 = 4 (1 остаток)
4 / 2 = 2 (0 остаток)
2 / 2 = 1 (0 остаток)
1 / 2 = 0 (1 остаток)
Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:
1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77
Восьмеричная система счисления
Итак, современное «железо понимает» лишь двоичную систему счисления. Однако человеку трудно воспринимать длинные записи нулей и единиц с одной стороны, а с другой – переводит числа из двоичной в десятичную систему и обратно, достаточно долго и трудоемко. В результате, часто программисты используют другие системы счисления: восьмеричную и шестнадцатеричную. И 8 и 16 являются степенями двойки, и преобразовывать двоичное число в них (так же как и выполнять обратную операцию) очень легко.
В восьмеричной системе счисления используется восемь знаков-цифр (от 0 до 7). Каждой цифре соответствуют набор из трех цифр в двоичной системе счисления:
000 – 0
001 – 1
010 – 2
011 – 3
100 – 4
101 – 5
110 – 6
111 – 7
Для преобразования двоичного числа в восьмеричное достаточно разбить его на тройки и заменить их соответствующими им цифрами из восьмеричной системы счисления. Разбивать на тройки нужно начинать с конца, а недостающие цифры в начале заменить нулями. Например:
1011101 = 1 011 101 = 001 011 101 = 1 3 5 = 135
Т.е число 1011101 в двоичной системе счисления равно числу 135 в восьмеричной системе счисления. Или 10111012 = 1358.
Обратный перевод. Допустим, требуется перевести число 1008 (не заблуждайтесь! 100 в восьмеричной системе – это не 100 в десятичной) в двоичную систему счисления.
1008 = 1 0 0 = 001 000 000 = 001000000 = 10000002
Перевод восьмеричного числа в десятичное можно осуществить по уже знакомой схеме:
6728 = 6 * 8 2 + 7 * 8 1 + 2 * 8 0 = 6 * 64 + 56 + 2 = 384 + 56 + 2 = 44210
1008 = 1 * 8 2 + 0 * 8 1 + 0 * 8 0 = 6410
Шестнадцатеричная система счисления
Шестнадцатеричная система счисления, так же как и восьмеричная, широко используется в компьютерной науке из-за легкости перевода в нее двоичных чисел. При шестнадцатеричной записи числа получаются более компактными.
В шестнадцатеричной системе счисления используются цифры от 0 до 9 и шесть первых латинских букв – A (10), B (11), C (12), D (13), E (14), F (15).
При переводе двоичного числа в шестнадцатеричное, первое разбивается на группы по четыре разряда, начиная с конца. В случае, если количество разрядов не делится нацело, то первая четверка дописывается нулями впереди. Каждой четверке соответствует цифра шестнадцатеричной системе счисления:

Например:
10001100101 = 0100 1100 0101 = 4 C 5 = 4C5
Если потребуется, то число 4C5 можно перевести в десятичную систему счисления следующим образом (C следует заменить на соответствующее данному символу число в десятичной системе счисления – это 12):
4C5 = 4 * 162 + 12 * 161 + 5 * 160 = 4 * 256 + 192 + 5 = 1221
Максимальное двухразрядное число, которое можно получить с помощью шестнадцатеричной записи — это FF.
FF = 15 * 161 + 15 * 160 = 240 + 15 = 255
255 – это максимальное значение одного байта, равного 8 битам: 1111 1111 = FF. Поэтому с помощью шестнадцатеричной системы счисления очень удобно кратко (с помощью двух цифр-знаков) записывать значения байтов. Внимание! Состояний у 8-ми битного байта может быть 256, однако максимальное значение – 255. Не забывайте про 0 – это как раз 256-е состояние
Двоичная система счисления
Вспомним материал по системам счисления. В нём говорилось, что наиболее удобной системой счисления для компьютерных систем является двоичная система. Дадим определение этой системе:
Двоичной системой счисления называется позиционная система счисления, у которой основанием является число 2.
Для записи любого числа в двоичной системе счисления используются всего лишь 2 цифры: 0 и 1.
Общая форма записи двоичных чисел
Для целых двоичных чисел можно записать:
Данная форма записи числа «подсказывает» правило перевода натуральных двоичных чисел в десятичную систему счисления: требуется вычислить сумму степеней двойки, соответствующих единицам в свёрнутой форме записи двоичного числа.
Правила сложения двоичных чисел
Основные правила сложения однобитовых чисел
Отсюда видно, что и, как и в десятичной системе счисления, числа, представленные в двоичной системе счисления, складывают поразрядно. Если разряд переполняется, единица переносится в следующий разряд.
Пример сложения двоичных чисел

Правила вычитания двоичных чисел
Но как быть с 0-1=? Вычитание двоичных чисел немного отличается от вычитания десятичных чисел. Для этого используется несколько способов.
Вычитание методом заимствования
Запишите двоичные числа друг под другом – меньшее число под большим. Если меньшее число имеет меньше цифр, выровняйте его по правому краю (так, как вы записываете десятичные числа при их вычитании).
Некоторые задачи на вычитание двоичных чисел ничем не отличаются от вычитания десятичных чисел. Запишите числа друг под другом и, начиная справа, найдите результат вычитания каждой пары чисел.
Вот несколько простых примеров:
1 — 0 = 1
11 — 10 = 1
1011 — 10 = 1001
Рассмотрим более сложную задачу. Вы должны запомнить только одно правило, чтобы решать задачи на вычитание двоичных чисел. Это правило описывает заимствование цифры слева, чтобы вы могли вычесть 1 из 0 (0 — 1).
В первом столбце справа вы получаете разность 0 — 1. Для ее вычисления необходимо позаимствовать цифру слева (из разряда десятков).
Во-первых, зачеркните 1 и замените ее на 0, чтобы получить такую задачу: 1010 — 101 = ?
Вы вычли («позаимствовали») 10 из первого числа, поэтому вы можете написать это число вместо цифры, стоящей справа (в разряд единиц). 101100 — 101 = ?
Вычтите цифры в правом столбце. В нашем примере:
101100 — 101 = ?
Правый столбец: 10 — 1 = 1.
102 = (1 x 2) + (0 x 1) = 210 (цифры нижнего регистра обозначают систему счисления, в которой записаны числа).
12 = (1×1) = 110.
Таким образом, в десятичной системе эта разность записывается в виде: 2 — 1 = 1.
Вычтите цифры в оставшихся столбцах. Теперь это легко сделать (работайте со столбцами, двигаясь, справа налево):
101100 — 101 = __1 = _01 = 001 = 1.
Вычитание методом дополнения
Запишите двоичные числа друг под другом так, как вы записываете десятичные числа при их вычитании. Этот метод используется компьютерами для вычитания двоичных чисел, так как он основан на более эффективном алгоритме.
Однако простому человеку, привыкшему вычитать десятичные числа, этот метод может показаться более сложным (если вы программист, обязательно познакомьтесь с этим методом вычитания двоичных чисел).

Рассмотрим пример: 1011002 — 111012= ?
Если значность чисел разная, к числу с меньшей значностью слева припишите соответствующее количество 0.

1011002 — 0111012= ?
В вычитаемом числе поменяйте цифры: каждую 1 поменяйте на 0, а каждый 0 на 1.

0111012 → 1000102.
На самом деле мы «забираем дополнение у единицы», то есть вычитаем каждую цифру из 1. Это работает в двоичной системе, так как у такой «замены» может быть только два возможных результата: 1 — 0 = 1 и 1 — 1 = 0.
К полученному вычитаемому прибавьте единицу.

1000102+ 12 = 1000112
Теперь вместо вычитания сложите два двоичных числа.

1011002 +1000112= ?
Проверьте ответ. Быстрый способ – откройте двоичный онлайн калькулятор и введите в него вашу задачу. Два других метода подразумевают проверку ответа вручную.
1) Переведем числа в двоичную систему счисления:
Допустим, что из числа 1011012 нужно вычесть 110112
2) Обозначим как A число 1011012 и как B число 110112.
3) Запишем числа A и B столбиком, одно под другим, начиная с младших разрядов (нумерация разрядов начинается с нуля).
Двоичная система для чайников
Я решил сделать серию постов по информатике для чайников.
Если первый пост пойдёт хорошо, то будет еще несколько в том же духе.
Чтобы провести хирургическую операцию, анатомию знать не обязательно, но вот результаты будут непредсказуемы. Точно так же, чтобы программировать, не обязательно знать, как компьютер устроен изнутри, но иногда такое незнание может привести к душераздирающим последствиям.
Основа основ современного компьютера – ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ (2-СС). Звучит угрожающе. Чтобы понять, что такое ДСС, и научиться с ней работать, надо уметь складывать, умножать и возводить числа в степень. Ок, даю шпаргалку.
Сложение чисел
Пусть у нас есть какое-то число. Допустим, 5. И мы хотим прибавить к нему другое число. Допустим, 3. Как нам это сделать? Давайте, представим число 5 как пять палочек:
А число 3 как три палочки:
Чтобы сложить их, сначала нарисуем пять палочек, потом допишем к ним еще три:
Теперь пересчитаем – получилось 8.
Зря смеётесь! Когда считаем палочками – в Википедии это называется (ВНИМАНИЕ! НЕНОРМОТИВНАЯ ЛЕКСИКА!) «Единичная непозиционная система счисления с единичным весовым коэффициентом». Ну, или попросту будем называть УНАРНАЯ СИСТЕМА СЧИСЛЕНИЯ (1-СС).
В обычной жизни мы (люди) пользуемся ДЕСЯТЕРИЧНОЙ СИСТЕМОЙ СЧИСЛЕНИЯ (10-СС). Она так называется, потому что у нас есть десять цифр. К тому же, она еще и ПОЗИЦИОННАЯ, что означает, что значение (вес) цифры зависит от её положения в записи числа, например, в числах 2, 21 и 211 цифра 2 означает, соответственно, единицы, десятки и сотни.
Десятичная система счисления
Как мы складываем в 10-СС? Например, столбиком:
Сначала складываем единицы: 2+9 = 11, т.е. при сложении двух единичных чиселок появился новый десяток. Ясное дело, что из них может появиться только один десяток, потому что самое большое, что можно сложить – это 9+9 = 18. Таким образом, разбиваем сложение на кусочки: вместо 12+99 мы делаем 2+9 + 10+90, т.е. единицы и десятки (а потом и сотни) складываем отдельно друг от друга:
12 + 99 = [разобьем на разряды]
= (2+9) + (10+90) = [сложим первые разряды]
= 11 + (10+90) = [снова разобьем на десятки и единицы]
= (1 + 10) + (10 + 90) = [снова перегруппируем, чтобы отделить десятки от единиц]
= 1 + (10 + 10 + 90) = [сложим десятки]
= 1 + (110) = [разобьем на сотни и десятки]
Ясно, что получится 111, но давайте остановимся и посмотрим на эту полученную форму записи:
Фишка в том, что любое число можно представить как сумму отдельно единиц, отдельно десятков, сотен и т.д., например:
564 = 500 + 60 + 4, 7031 = 7000 + 000 + 30 + 1
Особенность такой записи в том, что мы видим во всех разрядах одну значащую цифру (первую), все следующие за ней цифры – это нули. Запомните этот момент – это важно.
При этом вместо того, чтобы писать 1000, мы можем написать 10^3 (т.е. десять в третьей степени, что можно расшифровать как 10*10*10).
7000 = 7*1000 = 7 * 10^3
А всё число 7031 можно расписать так:
7031 = 7*10^3 + 0*10^2 + 3*10^1 + 1*10^0
Напомню, что любое число в нулевой степени даёт единицу, и 10^0 = 1, а любое число в первой степени даёт само себя 10^1 = 10. Еще напомню, что любое число умноженное на 0 даёт 0, т.е. 0*10^2 = 0.
Так вот, наша система счисления называется десятичной именно благодаря этой десятке, которую в степень возводим.
Краткое отступление. Дорогие мои! Не путайте числа и цифры! Путать цифры и числа – это как путать буквы и звуки. Цифра – это просто символ для записи чисел. А число – это абстрактная величина, обычно означающее количество чего-нибудь. Думаю, все поняли. 
Двоичная система счисления
Теперь, поговорим о 2-СС. Её особенность в том, что в ней есть всего 2 символа для записи чисел: 0 и 1. Что интересно, при этом любое число, которое можно записать в 10-СС, так же можно записать и в 2-СС, и даже в 1-СС!
Двоичная система тоже позиционная и отличается от десятичной тем, что в ней вместо 10 в степень возводится двойка, например, число двоичное число 101101 можно прочитать так:
101101= 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
= 32 + 0 + 8 + 4 + 0 + 1 = 45 (это уже в десятичной системе)
Теперь давайте поскладываем в двоичной системе.
Начнём с простого: 0+0 = 0, 1+0 = 1, 0+1 = 1
Ничего удивительного, в 10-СС это точно так же выглядит.
Теперь посложнее: 1 + 1 = 10
Ой! Почему десять.
А вот никакие не ДЕСЯТЬ! Это число ДВА. Просто в двоичной записи.
Дальше: 10 + 1 = 11
Нет. Это не десять плюс один! Это два плюс один! В 10-СС это выглядит так: 2 + 1 = 3, а в 1-СС так: || + | = |||. Ясно –понятно?
Усложняем программу: 11 + 1 = ?
Хм… сложновато? Давайте упростим! По той же схеме, что и 12 + 99. Не забываем, что всё это в двоичной системе!
11 + 1 = [разобьем на разряды]
= (10 + 1) + 1 = [перегруппируем]
= 10 + (1 + 1) = [О! “1+1” складывать умеем!]
= 10 + 10 = [ну, здесь просто сначала игнорируем нули, складываем 1+1 и потом приписываем 0 к результату]
Ну, сколько можно. Это не СТО. Если то же самое записать в 10-СС, то получим: 3 + 1 = 4. Т.е. это 100 в записи 2-СС – это ЧЕТЫРЕ.
Ну, и для закрепления материала сложим в 2-СС:
= (1000 + 100 + 00 + 1) + (1000 + 000 + 00 + 1)
= (1000 + 1000) + (100 + 000) + (00 + 00) + (1 + 1)
= (10000) + (100) + (00) + (10)
= (10000) + (100) + (00 + 10)
А по-русски: 13 + 9 = 22
Большое спасибо! Очень хорошо объяснили. Всё понял.
Автор, статейка интересная, как преподаватель говорю, но неполная. Ты предоставил метод перевода из двоичной системы в десятичную, и метод сложения двух двоичных чисел, не хватает перевода из десятичной в двоичную и остальных операций двоичной арифметики. Самому мне всегда интересны способы преподавания различного материала, пиши дальше)))
поделитесь, пожалуйста, еще постами по информатике если есть
Ложка дёгтя портит бочку мёда. Я споткнулся на этом -Теперь посложнее: 1 + 1 = 10
Ой! Почему десять.
А вот никакие не ДЕСЯТЬ! Это число ДВА. Просто в двоичной записи. И дальше нет объяснения почему и как. Естественно дальше идут примеры сложнее, но т.к. этот простой непонятен. Дальше залазить в дебри
А теперь слушайте домашнее задание: построить синхрофазотрон.
Пожалуйста не обьясняйте мне больше никто,а то я только засыпать начал.кубатурил про число 85,НО на этапе сборки чето приуныл.
Теперь посложнее: 1 + 1 = 10
Ой! Почему десять.
А вот никакие не ДЕСЯТЬ! Это число ДВА. Просто в двоичной записи.
Я тебя разочарую, но это десять и есть.
Кстати цифровая схемотехника основана на двоичной системе счисления. На основных законах булевой алгебры. 1+1=1 1+0=1 1*1=1 1*1=0
На самом деле все еще проще.

Нейронные сети. Формулы обратного распространения
Представляем заключительную лекцию из курса по нейронным сетям от 3blue1brown. В этой лекции речь пойдет о формулах обратного распространения. Одной из важных тем, которая позволит разобраться с основными моментами дифференцирования сложных функций в контексте сетей.
Благодарим за создание выпуска:
Переводчика – Федора Труфанова;
Редактора – Михаила Коротеева;
Диктора – Никифора Стасова;
Монтажера – Олега Жданова

Нейронные сети. Обратное распространение ошибки
Привет, Лига образования!
Мы продолжаем переводить легендарный курс по нейросетям от 3blue1brown.
В предыдущей лекции мы узнали о градиентном спуске. Сегодня речь пойдет о методе обратного распространения — главном алгоритме обучения нейронных сетей.
Благодарим за создание выпуска:
Редактора – Михаила Коротеева;
Диктора – Никифора Стасова;
Монтажера – Олега Жданова
И бонус в комментариях, английский!

Нейронные сети. Градиентный спуск: как учатся нейронные сети
Обучение — сложный процесс не только для человека, но и для сущностей, порожденных разумом человека.
Мы подготовили долгожданное продолжение лекций по нейросетям. Градиентный спуск: как учатся нейронные сети.
Благодарим за участие в выпуске:
Редакторов – Дмитрия Титова, Михаила Коротеева, Дмитрия Мирошниченко;
Корректора – Дмитрия Мирошниченко;
Дикторов – Никифора Стасова, Дарью Яговкину;
Монтажера – Олега Жданова.

Разговор о системах счисления:
— Программист подарил своей женщине 5 роз, сказав «эта 101 роза тебе» (двоичная). Пещерный человек, подарил бы три розы, сказав «бери эти 111 роз» (унарная).
— То есть неандертальца от программиста отличает всего лишь ноль?
— Ну вообще введение 0 было огромным шагом для математики. Можно сказать первый мощный шаг к абстрактному мышлению. Так что в какой-то степени да, «0» — это переходная ступень между неандертальцем и программистом.

Нейронные сети. Просто о сложном
Привет, Пикабу. Сегодня у нас кое-что действительно классное для Лиги образования.
Мы договорились о переводе и озвучке с автором самых крутых на Youtube видео про математику-информатику-физику.
И наша первая озвучка — видео о том, что же такое нейросети.
За это отличную озвучку мы благодарим Александра Колдаева.
Если хочешь поучаствовать в переводе или озвучке — напиши нам в вк, телеграм или facebook.
Карты наук
Dominic Walliman — ютубер, автор научно-популярных книг по физике, PhD (вроде кандидата наук) по «quantum device physics» опубликовал карты различных наук: биологии, физики, математики, химии и computer science.
Нужно это затем, чтобы любой человек мог иметь представление о том, из чего состоят современные разделы науки.

Выше был их автор. А вот и одна из его карт (по физике):

О карте, нарисованной выше, Dominic подробно рассказал в следующем видео. Он рассказал о ранней физике, об Эйнштейне и его теориях специальной и общей относительности, и о подвидах квантовой физики.
Кстати говоря, помимо карт наук, на его странице во flickr есть интересные постеры о том, как мы уже сейчас используем квантовые технологии.
Все его видео по картам наук публикуются в следующем плейлисте: https://www.youtube.com/playlist?list=PLOYRlicwLG3St5aEm02nc.
Они на английском, но уже есть и переводы.
Вот, например, по Computer Science:
А вот по математике:
Спасибо за внимание!

За день до экзамена
Завтра, первого июня, одиннадцатые классы сдают профильную математику. Что это значит для меня? Что сегодня контроль технической подготовки и сдача школы представителю из министерства образования. На технической подготовке мы устанавливали 14 основных станций печати (ПК + принтер) и 5 резервных, на контроле члены государственной экзаменационной комиссии (ГЭК) должны проверить качество печати, и если их всё устраивает — поставить свою цифровую и обычную подписи.
На самом деле, сегодняшний день для меня начался еще вчера — в восемь часов вечера вызвали в школу. Оказывается, мы не отправили кое-какие документы в региональный центр обработки информации (РЦОИ). На тренировках и апробациях никогда не отправляли, а на реальных экзаменах оказалось нужно. Это информация мимо меня как-то пролетела, ну что поделать — сам виноват, сам и ходи на работу в восемь вечера. Пришел, отправил эти бумажки, оказалось неправильно настроены резервные станции печати, пришлось перенастраивать, заново отправлять отчёт — домой пошёл в 10. Пришёл, покалякал прописи (учусь писать левой рукой), поиграл, отправил ученикам мотивирующий мем, лёг спать — завтра рано вставать.

Встаю в семь — и не могу вспомнить зачем. В школу технические специалисты и члены ГЭК приходят к десяти, мне до школы идти пять минут. Зачем я встал так рано? Ладно, думаю, время есть свободное, дай ленту пока полистаю. В половину девятого звонит завуч и спрашивает, почему я еще не в школе. Точно! Сегодня же едем устанавливать видеонаблюдение домашникам! Одеваюсь в удобное, бегу в школу.
Два домашника, на каждого по нетбуку и моноблоку с веб-камерами. Нетбуки легкие, компактные, с хорошими микрофонами и вебками — но без DVD-приводов. А видеозаписи экзамена на дому нужно отправлять на цифровом носителе (диск или флешка) в РЦОИ. Два домашника, три экзамена — итого шесть носителей. Если отправлять флешки — потом их не дождешься назад, поэтому решили видео писать на диски. А для этого нужны моноблоки. Короче, морока, которой можно было избежать, но не вышло.
Время к девяти, погрузили технику в машину завучу, едем. Первый домашник — головная боль всей школы. Точнее не он сам, а его мамаша. Очень приятная в общении женщина, пока ей от тебя ничего не нужно. Как только ей кажется, что её права нарушают — истерика, скандал, жалобы директору, роно, иногда в прокуратуру и минобр. Ставим видеонаблюдение, два ПК в разных углах комнаты для полноты обзора. Начала ругаться на то, что в камеру видно дверь в комнату (по регламенту её должно быть видно), а на двери стекло, и в отражении стекла будет видна остальная квартира, если приблизить видео. Благо, удалось быстро успокоить качеством видеозаписи. Ладно, всё поставили, перед нашим уходом она начала заводиться и что-то кричала, пока мы уезжали на лифте.
Приезжаем ко второй домашнице. Её мама — полная противоположность предыдущей. Абсолютно доброжелательная, улыбчивая, радостная женщина. Там мы управились минут за пять и поехали обратно в школу. Приходим, идём мимо кабинета директора — там мамаша первого домашника. Пишет директору жалобу на: 1) моноблок слишком сильно шумит, будет мешать её малышу сыну писать экзамен и 2) завуч не ответила на смс о том, что моноблок сильно шумит. Ладно, пообещали заменить моноблок. Решили взять ноутбук с дисководом — но почти все отдали на ОГЭ по информатике в другую школу. В коридоре поймали какую-то учительницу, попросили её отдать ноут, быстренько поставили программу для видеозаписи, поехали опять к домашнику, поменяли технику и обратно. Время уже к двенадцати.
Возвращаюсь в школу, понимаю что дико хочу кушать — иду в нашу замечательную столовую. Суп с мясом, макароны с котлетой, салат, компот, пирожное — за 100 с небольшим рублей. Время половина первого, иду в штаб к своим техническим специалистам. Небольшое лирическое отступление — я интроверт и исполнитель, но в школе вынужденный экстраверт и лидер. Так как экзамен проходит в моей школе, я являюсь фактически руководителем остальных техспециалистов, за это расплачиваюсь тем, что являюсь ответственным лицом. К огромному счастью, в моём подчинении пять грамотных, толковых человек, которые допускают минимум косяков и очень ответственно подходят к своему делу. Правда, сегодня двоих забрали на ОГЭ по информатике, что не помешало остальным трём вместе с членами ГЭК завершить контроль технической подготовки и отправить все документы в РЦОИ к моему приходу. Огромное спасибо ответственным людям! На вас всё держится во всех сферах жизни.
Хорошо, со станциями печати и сканирования разобрались, идём дальше. Проверяем видеонаблюдение. Оно идёт, во-первых, онлайн на сайте smotriege.ru — во время экзамена можно выбрать любой ППЭ и смотреть, что там происходит; во-вторых, через cctv-решение все аудитории показываются на отдельном ПК в штабе. Внезапно выясняется, что ноутбук, на который сводится всё видеонаблюдение, практически нежизнеспособен. Переписываем IP-адрес, перекидываем программу на новый комп (взятый откуда? из кабинета информатики), проверяем — всё работает, отлично. Далее в очередной раз проверяем все кабинеты — просматриваются ли все парты, видны ли часы, номер аудитории и т.д. Кстати говоря, во всём нам помогает директор школы — ходит с нами, обеспечивает всем необходимым, помогает найти потерявшиеся ключи и так далее.
Время к трём. Техническая работа завершена, специалисты разъехались по домам. Руководитель ППЭ (завуч) и директор уезжают на совещание в роно, а уполномоченный представитель ГЭК — человек, который принимает и опечатывает школу — должна приехать к пяти. И ведь неизвестно, кто приедет — может какая мегера, может просто принципиальный человек, а может и повезти. Остаюсь в штабе один, пока есть свободное время — переписываюсь с девятиклассниками, кто как написал информатику. ВК школьным провайдером блокируется, приходится сидеть через Tor. Ответы, говорят, были, но и задания были не сложные. Вторую часть решало по 2-3 человека из аудитории на 15 человек. Пора бы информатику в девятом тоже разделить на базу и профиль — было бы проще и организаторам, и детям. На самом деле, информатику как предмет в школе надо полностью менять, но это уже совершенно другая история.
Доходит половина пятого, ко мне забегает завуч, вернувшаяся из роно, и говорит, чтоб я бежал в завуческую. Преисполненный самых мрачных мыслей иду туда, отворяю и дверь и вижу. тортик, пирожное, фрукты и чай. Огромное спасибо таким руководителям, кто не забывает о том, что их подчиненные тоже люди
К пяти приезжает уполномоченный представитель ГЭК. Как оказалось, весьма приятная женщина, знающая свои обязанности, но не злоупотребляющая своими правами. Вчетвером (она, директор, руководитель ППЭ и я) ходим по всем кабинетам, еще раз проверяем видеонаблюдение, если всех всё устраивает — опечатываем кабинет. Так потихоньку к шести доходим до штаба, опечатываем его, затем уходим из школы и её опечатываем — рабочий день завершен. Желаем друг другу всего наилучшего, встречаемся завтра в семь утра таким же составом.
По пути домой встретил двух девятиклассниц, поболтали с ними — экзамен прошёл хорошо, суицидальных мыслей нет, это главное. А дома меня ждёт Туся:

Ну, может и не сильно-то ждёт. Ну да ладно, всё равно любит. Наверное.
А завтра экзамен — а завтра вечером напишу, как всё прошло. Всем спасибо!
Что такое сумма разрядов числа в информатике
Предыдущая лекция | Содержание | Следующая лекция
Информатика. Лекция №5. Представление чисел в компьютере.
Представление целых чисел в компьютере.
Целые числа являются простейшими числовыми данными, с которыми оперирует ЭВМ. Для целых чисел существуют два представления: беззнаковое (только для неотрицательных целых чисел) и со знаком. Очевидно, что отрицательные числа можно представлять только в знаковом виде. Целые числа в компьютере хранятся в формате с фиксированной запятой.
Представление целых чисел в беззнаковых целых типах.
Для беззнакового представления все разряды ячейки отводятся под представление самого числа. Например, в байте (8 бит) можно представить беззнаковые числа от 0 до 255. Поэтому, если известно, что числовая величина является неотрицательной, то выгоднее рассматривать её как беззнаковую.
Представление целых чисел в знаковых целых типах.
Для представления со знаком самый старший (левый) бит отводится под знак числа, остальные разряды — под само число. Если число положительное, то в знаковый разряд помещается 0, если отрицательное — 1. Например, в байте можно представить знаковые числа от -128 до 127.
Прямой код числа.
Представление числа в привычной форме «знак»-«величина», при которой старший разряд ячейки отводится под знак, а остальные — под запись числа в двоичной системе, называется прямым кодом двоичного числа. Например, прямой код двоичных чисел 1001 и -1001 для 8-разрядной ячейки равен 00001001 и 10001001 соответственно.
Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой код числа полностью совпадает с записью самого числа в ячейке машины. Прямой код отрицательного числа отличается от прямого кода соответствующего положительного числа лишь содержимым знакового разряда. Но отрицательные целые числа не представляются в ЭВМ с помощью прямого кода, для их представления используется так называемый дополнительный код.
Дополнительный код числа.
Дополнительный код положительного числа равен прямому коду этого числа. Дополнительный код отрицательного числа m равен 2 k -|m|, где k — количество разрядов в ячейке.
Как уже было сказано, при представлении неотрицательных чисел в беззнаковом формате все разряды ячейки отводятся под само число. Например, запись числа 243=11110011 в одном байте при беззнаковом представлении будет выглядеть следующим образом:
| 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
При представлении целых чисел со знаком старший (левый) разряд отводится под знак числа, и под собственно число остаётся на один разряд меньше. Поэтому, если приведённое выше состояние ячейки рассматривать как запись целого числа со знаком, то для компьютера в этой ячейке записано число -13 (243+13=256=28).
Но если это же отрицательное число записать в ячейку из 16-ти разрядов, то содержимое ячейки будет следующим:
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
Знаковый разряд
Возникает вопрос: с какой целью отрицательные числа записываются в виде дополнительного кода и как получить дополнительный код отрицательного числа?
Дополнительный код используется для упрощения выполнения арифметических операций. Если бы вычислительная машина работала с прямыми кодами положительных и отрицательных чисел, то при выполнении арифметических операций следовало бы выполнять ряд дополнительных действий. Например, при сложении нужно было бы проверять знаки обоих операндов и определять знак результата. Если знаки одинаковые, то вычисляется сумма операндов и ей присваивается тот же знак. Если знаки разные, то из большего по абсолютной величине числа вычитается меньшее и результату присваивается знак большего числа. То есть при таком представлении чисел (в виде только прямого кода) операция сложения реализуется через достаточно сложный алгоритм. Если же отрицательные числа представлять в виде дополнительного кода, то операция сложения, в том числе и разного знака, сводится к из поразрядному сложению.
Для компьютерного представления целых чисел обычно используется один, два или четыре байта, то есть ячейка памяти будет состоять из восьми, шестнадцати или тридцати двух разрядов соответственно.
Алгоритм получения дополнительного кода отрицательного числа.
- модуль отрицательного числа представить прямым кодом в k двоичных разрядах;
- значение всех бит инвертировать:все нули заменить на единицы, а единицы на нули(таким образом, получается k-разрядный обратный код исходного числа);
- к полученному обратному коду прибавить единицу.
Пример:
Получим 8-разрядный дополнительный код числа -52:
Можно заметить, что представление целого числа не очень удобно изображать в двоичной системе, поэтому часто используют шестнадцатеричное представление:
Представление вещественных чисел в компьютере.
Для представления вещественных чисел в современных компьютерах принят способ представления с плавающей запятой. Этот способ представления опирается на нормализованную (экспоненциальную) запись действительных чисел.
Как и для целых чисел, при представлении действительных чисел в компьютере чаще всего используется двоичная система, следовательно, предварительно десятичное число должно быть переведено двоичную систему.
Нормализованная запись числа.
Нормализованная запись отличного от нуля действительного числа — это запись вида a= m*P q , где q — целое число (положительное, отрицательное или ноль), а m — правильная P-ичная дробь, у которой первая цифра после запятой не равна нулю, то есть . При этом m называется мантиссой числа, q — порядком числа.
- 3,1415926 = 0, 31415926 * 10 1 ;
- 1000=0,1 * 10 4 ;
- 0,123456789 = 0,123456789 * 10 0 ;
- 0,00001078 = 0,1078 * 8 -4 ; (порядок записан в 10-й системе)
- 1000,00012 = 0, 100000012 * 2 4 .
Нормализованная экспоненциальная запись числа — это запись вида a= m*P q , где q — целое число (положительное, отрицательное или ноль), а m — P-ичная дробь, у которой целая часть состоит из одной цифры. При этом (m-целая часть) называется мантиссой числа, q — порядком числа.
Представление чисел с плавающей запятой.
При представлении чисел с плавающей запятой часть разрядов ячейки отводится для записи порядка числа, остальные разряды — для записи мантиссы. По одному разряду в каждой группе отводится для изображения знака порядка и знака мантиссы. Для того, чтобы не хранить знак порядка, был придуман так называемый смещённый порядок, который рассчитывается по формуле 2 a-1 +ИП, где a — количество разрядов, отводимых под порядок.
Пример:
Если истинный порядок равен -5, тогда смещённый порядок для 4-байтового числа будет равен 127-5=122.
Алгоритм представления числа с плавающей запятой.
- Перевести число из p-ичной системы счисления в двоичную;
- представить двоичное число в нормализованной экспоненциальной форме;
- рассчитать смещённый порядок числа;
- разместить знак, порядок и мантиссу в соответствующие разряды сетки.
Можно заметить, что представление действительного числа не очень удобно изображать в двоичной системе, поэтому часто используют шестнадцатеричное представление:
Уроки 6 — 7
§ 1.2. Представление чисел в компьютере
Оперативная память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Каждый такой элемент служит для хранения одного из битов — разряда двоичного числа. Именно поэтому каждый элемент ячейки называют битом или разрядом (рис. 1.2).

Рис. 1.2. Ячейка памяти
Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом виде.
Беззнаковое представление используется для таких объектов, как адреса ячеек, всевозможные счётчики (например, число символов в тексте), а также числа, обозначающие дату и время, размеры графических изображений в пикселях и т. д.
Максимальное значение целого неотрицательного числа достигается в случае, когда во всех разрядах ячейки хранятся единицы. Для n-разрядного представления оно будет равно 2 n -1. Минимальное число соответствует п нулям, хранящимся в n разрядах памяти, и равно нулю.
Ниже приведены максимальные значения для беззнаковых целых n-разрядных чисел:

Для получения компьютерного представления беззнакового целого числа достаточно перевести число в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности.
Пример 1. Число 5310 = 1101012 в восьмиразрядном представлении имеет вид:

Это же число 53 в шестнадцати разрядах будет записано следующим образом:

При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды — под само число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное — 1. Такое представление чисел называется прямым кодом.
В компьютере прямые коды используются для хранения положительных чисел в запоминающих устройствах, для выполнения операций с положительными числами.
На сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/) размещён информационный модуль «Число и его компьютерный код». С помощью этого ресурса вы можете получить дополнительную информацию по изучаемой теме.
Для выполнения операций с отрицательными числами используется дополнительный код, позволяющий заменить операцию вычитания сложением. Узнать алгоритм образования дополнительного кода вы можете с помощью информационного модуля «Дополнительный код», размещённого на сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/).
1.2.2. Представление вещественных чисел
Любое вещественное число А может быть записано в экспоненциальной форме:

где:
m — мантисса числа;
q — основание системы счисления;
p — порядок числа.
Например, число 472 000 000 может быть представлено так: 4,72 • 10 8 , 47,2 • 10 7 , 472,0 • 10 6 и т. д.
С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида: 4.72Е+8.
Здесь знак «Е» обозначает основание десятичной системы счисления и читается как «умножить на десять в степени».
Из приведённого выше примера видно, что положение запятой в записи числа может изменяться.
Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472 000 000 будет представлено как 0,472 • 10 9 .
Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.
Пример:

Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.
Максимальное значение порядка числа для приведённого выше примера составляет 11111112 = 12710, и, следовательно, максимальное значение числа:
0,11111111111111111111111 • 10 1111111
Попытайтесь самостоятельно выяснить, каков десятичный эквивалент этой величины.
Широкий диапазон представления вещественных чисел важен для решения научных и инженерных задач. Вместе с тем следует понимать, что алгоритмы обработки таких чисел более трудоёмки по сравнению с алгоритмами обработки целых чисел.
САМОЕ ГЛАВНОЕ
Для компьютерного представления целых чисел используются несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64) и наличием или отсутствием знакового разряда.
Для представления беззнакового целого числа его следует перевести в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности.
При представлении со знаком самый старший разряд отводится под знак числа, остальные разряды — под само число. Бели число положительное, то в знаковый разряд помещается 0, если число отрицательное, то 1. Положительные числа хранятся в компьютере в прямом коде, отрицательные — в дополнительном.
При хранении в компьютере вещественных чисел выделяются разряды на хранение знака порядка числа, самого порядка, знака мантиссы и мантиссы. При этом любое число записывается так:

где:
m — мантисса числа;
q — основание системы счисления;
p — порядок числа.
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.
2. Как в памяти компьютера представляются целые положительные и отрицательные числа?
3. Любое целое число можно рассматривать как вещественное, но с нулевой дробной частью. Обоснуйте целесообразность наличия особых способов компьютерного представления целых чисел.
4. Представьте число 6310 в беззнаковом 8-разрядном формате.
5. Найдите десятичные эквиваленты чисел по их прямым кодам, записанным в 8-разрядном формате со знаком:
а) 01001100;
б) 00010101.
6. Какие из чисел 4438, 1010102, 25610 можно сохранить в 8-разрядном формате?
7. Запишите следующие числа в естественной форме:
а) 0,3800456 • 10 2 ;
б) 0,245 • 10 -3 ;
в) 1,256900Е+5;
г) 9,569120Е-3.
8. Запишите число 2010,010210 пятью различными способами в экспоненциальной форме.
9. Запишите следующие числа в экспоненциальной форме с нормализованной мантиссой — правильной дробью, имеющей после запятой цифру, отличную от нуля:
10. Изобразите схему, связывающую основные понятия, рассмотренные в данном параграфе.
Электронное приложение к уроку
| Файлы | Материалы урока | Ресурсы ЭОР |

Cкачать материалы урока
Сложение и вычитание. Выполнение арифметических действий над целыми числами компьютером
Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины – семь разрядов.
| В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код. |
Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией cложения.
Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде.
Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.
1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины. Например: -538 =101010112.
2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями. Например: -538 = 010101002.
3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.
| Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа. |
| В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение уменьшаемого с обратным или дополнительным кодом вычитаемого. Это позволяет существенно упростить конструкцию АЛУ. |
При сложении двоичных кодов чисел А и В имеют место четыре основных и два особых случая:
1. Числа А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю.
Здесь получен правильный результат.
2. А положительное, число B отрицательное и по абсолютной величине больше, чем А. Например: 128 +( – 538 ) = – 418 = 000010102 + 010101002 =010111102
Получен правильный результат в обратном коде. При переводе числа в прямой код биты цифровой части результата инвертируются, т.е. 101000012= – 418 :
3. А положительное, число B отрицательное и по абсолютной величине меньше, чем А.
Компьютер исправляет полученный неправильный результат в прямом коде (– 408 вместо 418) переносом единицы из знакового разряда в младший разряд суммы:
4. Числа А и В отрицательные.
Полученный первоначально неправильный результат (получен обратный код числа –138 вместо обратного кода числа –128) компьютер исправляет ошибку переносом единицы из знакового разряда в младший разряд суммы:
111101002 à (перенос 1) à 011101012 (обратный код числа)
При переводе результата в прямой код биты цифровой части числа инвертируются: 011101012 à 100010102 (прямой код) = –128 = –1010
При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него ячейке памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения.
5. Числа А и В положительные, но сумма А+В больше, либо равна 2 n–1 , где n – количество разрядов формата чисел ( для однобайтового формата n=8, 2 n–1 =2 7 =128). Например: 1208 + 1228 = 010100002 + 010100102 =101000102= 2428
Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (2428 = 101000102), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых, что является свидетельством переполнения разрядной сетки.
6. Числа А и В отрицательные, а сумма абсолютных величин А и В больше, либо равна 2 n–1 , где n – количество разрядов формата чисел. В этом случае также знак суммы не совпадает со знаками слагаемых, что будет свидетельствовать о переполнении разрядной сетки.
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Представление чисел в компьютере
Информатика. 10 класса. Босова Л.Л. Оглавление
§13. Представление чисел в компьютере
Самым первым видом данных, с которыми начали работать компьютеры, были числа. ЭВМ первого поколения могли производить только математические расчёты (вычисления).
Из курса информатики основной школы вы помните, что компьютеры работают с целыми и вещественными числами. Их представление в памяти осуществляется разными способами.
13.1. Представление целых чисел
Во многих задачах, решаемых на компьютере, обрабатываются целочисленные данные. Прежде всего, это задачи экономического характера, при решении которых данными служат количества акций, сотрудников, деталей, транспортных средств и др. Целые числа используются для обозначения даты и времени, для нумерации различных объектов: элементов массивов, записей в базах данных, машинных адресов и т. д. По своей природе множество целых чисел дискретно, т. к. состоит из отдельных элементов.
И хотя любое целое число можно рассматривать как вещественное, но с нулевой дробной частью, предусмотрены специальные способы представления целых чисел. Это обеспечивает: эффективное расходование памяти, повышение быстродействия, повышение точности вычислений за счёт введения операции деления нацело с остатком.
Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда.
Беззнаковое представление можно использовать только для неотрицательных целых чисел.
Для получения компьютерного представления беззнакового целого числа в n-разрядной ячейке памяти достаточно перевести его в двоичную систему счисления и, при необходимости, дополнить полученный результат слева нулями до n-разрядов.
Например, десятичные числа 130 и 39 в восьмиразрядном представлении будут иметь вид:

Понятно, что существуют ограничения на числа, которые могут быть записаны в n-разрядную ячейку памяти. Максимальное значение целого неотрицательного числа достигается в случае, когда во всех разрядах ячейки хранятся единицы. Для n-разрядного представления оно будет равно 2 n -1. Минимальное число соответствует n нулям, хранящимся в n разрядах памяти, и равно нулю. Далее приведены диапазоны значений для беззнаковых целых n-разрядных чисел:

При знаковом представлении целых чисел старший разряд ячейки отводится под знак (0 — для положительных, 1 — для отрицательных чисел), а остальные разряды — под цифры числа.
Представление числа в привычной для человека форме «знак-величина», при которой старший разряд ячейки отводится под знак, а остальные разряды — под цифры числа, называется прямым кодом.
Например, прямые коды чисел 48 и -52 для восьмиразрядной ячейки равны:

Минимальное отрицательное число, которое можно записать в знаковом представлении в n разрядах, равно 2 n-1 . Максимальное положительное число, которое можно записать в знаковом представлении в n разрядах, равно 2 n-1 — 1. Ниже приведены диапазоны значений для знаковых представлений целых чисел в ячейках с различной разрядностью:

В математике множество целых чисел бесконечно.
Компьютер работает с ограниченным множеством целых чисел.
Прямой код положительного числа отличается от прямого кода равного по абсолютной величине отрицательного числа только содержимым знакового разряда.
В прямом коде числа можно хранить, но выполнение арифметических операций над числами в прямом коде затруднено — оно требует более сложной архитектуры центрального процессора, «умеющего» выполнять не только сложение, но и вычитание, а также «знающего» особый алгоритм обработки не имеющего «веса» знакового разряда. Этих трудностей позволяет избежать использование дополнительного кода.
Чтобы понять сущность дополнительного кода, рассмотрим работу реверсивного счётчика, последовательность показаний которого можно представить в виде замкнутого кольца из чисел (рис. 3.5).

Рис. 3.5. Реверсивный счётчик
При возрастании показаний счётчика до максимального, например до 999, следующими его состояниями должны быть 1000, 1001, 1002 и т. д. Но для изображения старшей единицы в счётчике не хватает разряда, происходит переполнение разрядной сетки. Поэтому мы увидим 000, 001, 002 и т. д.
При убывании показаний счётчика после состояния 000 будут идти 999, 998, 997 и т. д. Но после достижения нуля последовательное вычитание единицы должно давать -1, -2, -3 и т. д.
Будем рассматривать числа 999, 998, 997 как коды чисел -1, -2, -3 и проверим на их примере соотношение: у + (-у) = 0:
1 + 999 = 1000;
2 + 998 = 1000;
3 + 997 = 1000.
С учётом того что единица переполнения теряется, мы, сложив число и код противоположного ему числа, получаем ноль!
Вот ещё несколько примеров:
5-2 = 5 + [-2] = 5 + 998 = 1003;
7-5 = 7 + [-5] = 7 + 995 = 1002.
Для устранения неоднозначности в кольце будем считать половину состояний (0-499) кодами нуля и положительных чисел, а оставшуюся половину (500-999) — кодами отрицательных чисел.
Таким образом, дополнительный код положительного числа совпадает с этим числом, а для отрицательного числа он равен дополнению его величины до числа q n , возникающего при переполнении разрядной сетки. Здесь q — основание системы счисления, n — число разрядов в разрядной сетке.
Рассмотрим алгоритм получения дополнительного n-разрядного кода отрицательного числа:
1) модуль числа представить прямым кодом в n двоичных разрядах;
2) значения всех разрядов инвертировать (все нули заменить единицами, а единицы — нулями);
3) к полученному представлению, рассматриваемому как n-разрядное неотрицательное двоичное число, прибавить единицу.
Пример 1. Найдём 16-разрядный дополнительный код отрицательного числа -201710.

Использование дополнительного кода позволяет свести операцию вычитания чисел к операции поразрядного сложения кодов этих чисел.
Пример 2. Как известно, 48 — 2017 = -1969.
Выполним эту операцию в 16-разрядных машинных кодах.
Нам потребуются прямой код числа 48 и дополнительный код числа -2017.

Рассмотрим полученный результат. Это отрицательное число (об этом говорит 1 в знаковом разряде), представленное в дополнительном коде. Перейдём к прямому коду модуля соответствующего числа, по которому сможем восстановить десятичное представление результата.
Прямой код можно получить из дополнительного кода, если применить к нему операцию инвертирования и прибавить единицу.

Получаем: -111101100012 = -1969.
13.2. Представление вещественных чисел
В математике множество вещественных чисел непрерывно, бесконечно и не ограничено.
Попробуйте обосновать это утверждение.
Вещественные числа записываются в естественной или в экспоненциальной форме.
В жизни мы чаще пользуемся естественной формой записи чисел, при которой: число представляется последовательностью десятичных цифр со знаком плюс или минус, знак плюс может опускаться, для разделения целой и дробной частей числа используется запятая.
Например: 12,34; 0,0056; -708,9.
В экспоненциальной форме вещественное число а представляется как а = ± m • q p , где m — мантисса числа, q — основание системы счисления, р — порядок числа.
Например, длину некоторого отрезка, равного 47,8 см, можно записать так:
1) 478 • 10 -1 см;
2) 47,8 • 10 0 см;
3) 4,78 • 10 1 см;
4) 0,478 • 10 2 см;
5) 0,000478 • 10 5 см.
Такое многообразие вариантов записи в экспоненциальной форме одного и того же числа не всегда удобно. Для однозначного представления вещественных чисел в компьютере используется нормализованная форма.
Нормализованная запись отличного от нуля вещественного числа 1) — это запись вида а = ± m • q p , где р — целое число (положительное, отрицательное или ноль), m — дробь, целая часть которой содержит одну значащую (ненулевую) цифру, т. е. 1 ? m < q.
1) Стандарт IEEE 754.
Примеры нормализации чисел:
1) 31,415926 = 3,1415926 • 10 1 ;
2) 1000 = 1,0 • 10 3 ;
3) 0,123456789 = 1,23456789 • 10 -1 ;
4) 0,00001078 = 1,078 • 108 -5 ;
5) 1000,00012 = 1,00000012 • 102 11 ;
6) AB,CDEF16 = A,BCDEF16 • 1016 1 .
Диапазон вещественных чисел в памяти компьютера очень широк, но, тем не менее, ограничен. Множество вещественных чисел, которые могут быть представлены в компьютере, конечно.

Поясним это на примере калькулятора, который производит вычисления в десятичной системе счисления. Пусть это будет калькулятор с десятью знакоместами на дисплее:
• 6 знакомест отводится под мантиссу (одно знакоместо отводится под знак мантиссы, четыре — под цифры мантиссы, одно — под точку, разделяющую целую и дробную части мантиссы);
• одно знакоместо отводится под символ «Е»;
• три знакоместа отводятся под порядок (одно — под знак порядка, два — под цифры порядка).
У калькуляторов первая значащая цифра, с которой и начинается мантисса, изображается перед точкой.
Число 12,34 в таком калькуляторе будет представлено как +1.234Е+01.
Число 12,35 будет представлено как + 1.235Е+01.
Как известно, между числами 12,34 и 12,35 находится бесконечное множество вещественных чисел, например: 12,341; 12,3412; 12,34123 и т. д.
Каждое из этих чисел в нашем калькуляторе будет представлено как + 1.234Е+01. Для последних разрядов у нас просто не хватает знакомест! Аналогичная ситуация имеет место и в компьютерном представлении вещественных чисел, независимо от того, ячейки какой разрядности там использованы.
Получается, что точно мы можем представить в компьютере лишь некоторую конечную часть множества вещественных чисел, а остальные числа — лишь приближённо.
Таким образом, множество вещественных чисел, представляемых в компьютере, дискретно, конечно и ограничено.
САМОЕ ГЛАВНОЕ
В математике множество целых чисел дискретно, бесконечно и не ограничено.
Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. В любом случае компьютерное представление целых чисел дискретно, конечно и ограничено.
В математике множество вещественных чисел непрерывно, бесконечно и не ограничено.
Для компьютерного представления вещественных чисел используется нормализованная запись вещественного числа а = ± m • q p , где q — основание системы счисления, р — целое число (положительное, отрицательное или ноль), m — дробь, целая часть которой содержит одну значащую (ненулевую) цифру, т. е. 1 ? m < q.
Компьютерное представление вещественных чисел дискретно, конечно и ограничено.
Вопросы и задания
*7. Найдите десятичные эквиваленты чисел, представленных в дополнительном коде: 1) 00000100; 2) 11111001.
8. Для хранения целого числа со знаком в компьютере используется два байта. Сколько единиц содержит внутреннее представление числа -101, записанного:
1) в прямом коде;
2) в дополнительном коде?
9. Вычислите с помощью калькулятора (приложение Windows) в режиме «Программист» следующие примеры:
Как вы можете объяснить полученные результаты?
10. Запишите десятичные числа в нормализованной форме:
1) 217,934; 2) 75321; 3) 10,0101; 4) 200450.
11. Сравните следующие числа:
1) 318,4785 • 10 9 и 3,184785 • 10 11 ;
2) 218,4785 • 10 -3 и 1847,85 • 10 -4 .
12. Выполните операцию сложения:
1) 0,397621 • 10 3 + 0,2379 • 10 1 ;
2) 0,251452 • 10 -3 + 0,125111 • 10 -2 .
13. Чем ограничивается диапазон представимых в памяти компьютера вещественных чисел?
14. Почему множество вещественных чисел, представимых в памяти компьютера, дискретно, конечно и ограничено?
*15. Попытайтесь самостоятельно сформулировать основные принципы представления данных в компьютере.






