программирование на языке бейсик

 

УРОК 2. Двоичная система счисления

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

Основание для двоичной системы являются две цифры – 0 и 1 (или так называемый бит). При помощи одной цифры можно представить два числа – 0 и 1. При помощи двух цифр - четыре (0 - 00, 1 - 01, 2 - 10, 3 - 11), три бита - восемь, четыре – шестнадцать, восемь – 256 значений и так далее. Для того, чтобы различить числа, написанные в разных системах счисления, справа от значения указывается символ системы. Это применяется для всех систем, кроме десятичной. Например, указанные числа 0 и 1 записываются как 02 и 12 , где 2 – основание системы.

Для некоторых систем, которые имеют широкое распространение, могут использоваться специальные символы, например, для двоичной системы используется символ b (от слова binary – двоичный), а для шестнадцатеричной – Н (от слова Hexadecimal) – шестнадцатеричный, причем можно указывать как строчный символ, так и прописной. Таким образом, два значения, которые были указаны выше, правильнее записать 0b и 1b или 0В и 1В. Этим обозначением и мы будем пользоваться в дальнейшем.

Двоичная система используется не только в компьютере, но и известна в более ранние времена. Так, азбука Морзе использует два символа – точка и тире, при помощи которых можно выразить все буквы алфавита. Кроме того, в 19 веке возникла Булева алгебра, которая использует двоичные числа, а точнее два значения «истина» (1) и «ложь» (0). С этими двумя значениями существует несколько операций, часть из которых применяется и в программировании. Это операция НЕ, И, ИЛИ и некоторые другие, которые будут рассмотрены позднее.

Прежде чем перейти к операциям с двоичными числами, представим первые двоичные числа и их соответствие десятичным:


0

1

2

3

4

5

6

7

8

9

10

0b

1b

10b

11b

100b

101b

110b

111b

1000b

1001b

1010b

 

Как видно из приведенной таблицы, все числа указаны без лидирующих нулей, то есть, число 10b содержит две цифры, а не три, как можно было бы написать: 010b. Иногда может потребоваться написать лидирующие нули, например, когда переписываются значение нулей и единиц из четырехзначных полей. Например, при просмотре содержимого памяти в двоичном виде для легкости прочтения используются поля по четыре цифры и содержимое может быть представлено в виде:

0001 1011 1001 0000 0000 0000 1111 1111

0101 1010 1111 0000 1111 0101 0111 1110

Если в этой записи убрать лидирующие нули, то непонятно будет какое число выведено на экран. В других случаях лидирующие нули не пишутся, чем мы и будем в дальнейшем руководствоваться.

Перевод числа из двоичной системы в десятичную. Рассмотрим число 1001b. Оно равно числу 9 в десятичной системе счисления. Каким образом, не имея таблицы соответствия об этом узнать? Как ранее показано, каждое число имеет свое представление, для этого числа оно равно 1001b = 1 х 23 + 0 х 22 + 0х21 + 1 х 20 = 1х8 + 0х4 + 0х2 + 1х1 = 8+1 = 9. В общем случае, любое число можно выразить в виде суммы степеней двойки и подсчитать результат.

Перевод числа из десятичной в двоичную. Для перевода из десятичной системы счисления в двоичную можно делить исходное число на два и записывать остаток. Так, для числа 2003:

2003 : 2 = 1001 (1)

1001 : 2 = 500 (1)

500 : 2 = 250 (0)

250 : 2 = 125 (0)

125 : 2 = 62 (1)

62 : 2 = 31 (0)

31 : 2 = 15 (1)

15 : 2 = 7 (1)

7 : 2 = 3 (1)

3 : 2 = 1 (1)

1 : 2 = 0 (1)

Запишем в обратном порядке остатки, полученное число равно - 11111010011b.

При другом способе перевода из десятичной системы в двоичную также используются степени двойки в обратном порядке. Приведем пример. Для числа 9 подберем ближайшую степень двойки. Это будет 23 = 8. Вычтем из 9 полученное число: 9 - 8 = 1. Таким образом, число 9 = 1х23 + 0х22 + 0х21 + 1х 23 = 1001b.

Для того, чтобы было проще переводить число из десятичной системы в двоичную, приведем следующую таблицу, в которой указаны степени двойки:


21

22

23

24

25

26

27

28

29

210

2

4

8

16

32

64

128

256

512

1024

211

212

213

214

215

216

217

218

219

220

2048

4096

8192

16384

32768

65536

131072

262144

524288

1048576

 

Предположим, нам нужно перевести число 2003 в двоичный вид.

Ближайшее число, которое меньше данного, является 1024, поэтому запишем 1 и из 2003 – 1024 = 979. Следующее число 512 не больше полученного остатка, поэтому запишем еще одну единицу (получим 11) и получим новый остаток 979 – 512 = 467. Далее запишем единицу (111) и получим остаток 467-256 = 211, запишем единицу (1111), получим остаток 211-128 = 83, запишем единицу (11111), получим остаток 83-64 = 19. Следующая степень двойки – 32 больше, чем остаток, поэтому запишем ноль (111110), далее запишем единицу (1111101), получим остаток 19-16 = 3. Следующие две степени двойки больше остатка (8 и 4), запишем два нуля (111110100), далее запишем единицу (111111101001) и получим остаток 3-2=1 и окончим вычисления, записав единицу. Полученное число равно – 11111010011b. Или 2003 = 1х1024 + 1х512 + 1х256 + 1х128 + 1х64 + 0х32 + 1х16 + 0х8 + 0х4 + 1х2 + 1х1 = 1024 + 512 + 256 + 128 + 64 + 16 + 2 + 1.

Для перевода двоичных значений дробной части числа в десятичную систему, нужно умножать ее на два и смотреть на целое число, которое получается при этом. Например, переведем число 0,245:

0,245 х 2 = 0,49 (0)

0,49 х 2 = 0,98 (0)

0,98 х 2 = 1,96 (1)

0,96 х 2 = 1,92 (1)

0,92 х 2 = 1,84 (1)

0,84 х 2 = 1,68 (1)

0,68 х 2 = 1,36 (1)

0,36 х 2 = 0,72 (0) ….

В правой части каждой строчки находится в скобках целая часть числа, а дробная переносится на следующую строчку. Как правило, не требуется вычислять много значений после запятой, поэтому перепишем полученный результат, не проводя дальнейших операций. Это будет 0,00111110b

При работе с компьютером на практике производится перевод из одной системы счисления в другую целых чисел, а не дробной их части. Тем не менее, если потребуется перевести из двоичной системы счисления в десятичную, то для числа 1110,01b можно использовать формулу: 1х23 + 1х22 + 1х21 + 0х 20 + 0х2-1 + 1х2-2 = 8 + 4 + 2 + 0 + 0 + ¼ = 14¼.

Задачи.

1. Переведите из двоичного вида в десятичный следующие числа:

а) 1001В б) 11В в) 1111 0001В г) 1110 1010В д) 10 0001В е) 101 0101В ж) 11 0000В з) 11 1111В.

2. Переведите из десятичной системы счисления в двоичную следующие числа:

а) 3 б) 10 в) 122 г) 129 д) 1020 е) 24000 ж) 12348 з) 78

(переход на следующую страницу)

 

О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О











Информация данного сайта предназначена для бесплатного изучения персонального компьютера. Можно копировать, передавать материалы другим лицам.

Запрещается использовать материалы для получения личной финансовой выгоды, а также размещать на сайтах в интернете.


 
 
 
Яндекс.Метрика


Каталог@MAIL.RU - каталог ресурсов интернет