English Français Español Русский 中文 Deutsch Português عربي italiano 日本



         Некоторые вопросы сейсморазведки



 Домашняя  Сервис  Софт  Учебный материал  Контакты

Двоичные числа

включено и выключено Большинство из электрического оборудования (включая компьютеры) понимают на деле всего только два состояния – включено и выключено.

Электрическая цепь на компьютерном чипе использует эквивалент электронных переключателей для хранения и обработки серии 1 и 0, которые создают бинарные числа (число по базе 2).

 

Мы можем перевести число к базе 2 (которая требует только 2 символа) тем же путем, что и к любой другой. Еще раз переводим число 2169810 в двоичное:
 

21698

÷

2

=

10849

остаток

0

10849

÷

2

=

5424

остаток

1

5424

÷

2

=

2712

остаток

0

2712

÷

2

=

1356

остаток

0

1356

÷

2

=

678

остаток

0

678

÷

2

=

339

остаток

0

339

÷

2

=

169

остаток

1

169

÷

2

=

84

остаток

1

84

÷

2

=

42

остаток

0

42

÷

2

=

21

остаток

0

21

÷

2

=

10

остаток

1

10

÷

2

=

5

остаток

0

5

÷

2

=

2

остаток

1

2

÷

2

=

1

остаток

0

1

÷

2

=

0

остаток

1

 
Читая последнюю колонку, мы получаем 1010100110000102 = 2169810.
 
Вы можете видеть, что двоичные числа намного длиннее десятичных эквивалентов. Каждая двоичная цифра (или бит) может вместить только два возможных значения, поэтому 15 бит, приведенные здесь, вместят только число до 215-1, или 3276710.
 



Группа из 8 битов, или один байт, - это обычно наименьшая единица, достижимая для компьютера. Она вместит целые числа от 0 до 255, или, если мы используем один бит для обозначения того, что числа могут быть и положительными, и отрицательными (знаковый разряд кода) мы можем вместить значения от -128 до +127.

Чтобы избежать написания длинных строк из двоичных чисел, программисты используют тот принцип, что каждые четыре бита (половина байта, нибл (чуточка)) может напрямую конвертироваться в одну шестнадцатеричную цифру. Вот таблица перевода из десятичной в шестнадцатеричную в двоичную для чисел от 0 до 15:-
 

Десятичная

Шестнадцатеричная

Двоичная

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111

 
Итак, вместо того, чтобы писать 1010100110000102, мы можем переделать его на 16 бит, и конвертировать каждый нибл в шестнадцатеричную систему; 01012 = 516, 01002 = 416, 11002 = C16, 00102 = 216, полагая 54C216 = 1010100110000102 = 2169810.
 



Если мы хотим сохранить число в другие диапазоны, нам необходимо использовать комбинации байтов, чтобы получить более длинные «слова». Мы можем также использовать плавающую запятую для чисел, когда ваш калькулятор может показать 1000 как 1.0e+3, число сохраняется как мантисса (1.0) и экспонента (+3 в значении "103 раз").
 
Вот типичные форматы чисел, и диапазон значений, в которых их можно сохранить (вместить):-
 

Тип

Биты

Байты

Минимум

Максимум

Знаковый байт (чар)

8

1

-128

127

Незнаковый байт

8

1

0

255

Короткое знаковое слово

16

2

-32768

32767

Короткое незнаковое слово

16

2

0

65535

Длинное знаковое слово

32

4

-2147483648

2147483647

Длинное незнаковое слово

32

4

0

4294967295

Плавающая запятая (единичная) *

32

4

-3.40E+48

3.40E+48

Плавающая запятая (двойная) *

64

8

-1.7E+308

1.7E+308

 
* Формат и диапазон чисел с плавающей запятой зависит от производителя компьютера!


Нет строгого правила, как кратные байты хранятся в любом компьютере. Они могут храниться в порядке, начиная с наибольшего байта, или с наименьшего. 
  
Как и в случае с войной в Лилипутии, Путешествия Гулливера, они иногда именуются компьютерами "big-endian" или "small-endian" (у Свифта: little-endian – любитель спорить по пустякам (прим. перев.)). 

 



Двоичная арифметика ... Следующая страница