СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Представление чисел в компьютере.

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Представление чисел в компьютере.»

ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В КОМПЬЮТЕРЕ ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ

ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В КОМПЬЮТЕРЕ

ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ

Ключевые слова беззнаковое представление прямой код дополнительный код нормализованная запись мантисса

Ключевые слова

  • беззнаковое представление
  • прямой код
  • дополнительный код
  • нормализованная запись
  • мантисса
Представление целых чисел Число в математике Число в компьютере 0 0 1 1 0 0 0 1 1011111110100001 Количество цифр в записи числа может быть сколь угодно большим. Количество цифр (раз-рядов) ограничено па-мятью, выделенной для его хранения. У любого целого числа есть следующее и предыдущее число. Размер памяти опре-деляет величину самого большого числа.

Представление целых чисел

Число в математике

Число в компьютере

0

0

1

1

0

0

0

1

1011111110100001

Количество цифр в записи числа может быть сколь угодно большим.

Количество цифр (раз-рядов) ограничено па-мятью, выделенной для его хранения.

У любого целого числа есть следующее и предыдущее число.

Размер памяти опре-деляет величину самого большого числа.

Представление целых чисел 1 байт Что напечатает программа? Var x: byte; Begin x:=131;  x:=x*2; write(x); End . ? 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 = 0 0 0 0 0 0 1 0 = 0 0 0 0 0 0 0 = 2 0 0 0 0 0 = 4 0 0 0 0 = 0 8 0 0 = 0 16 0 0 = 0 32 0 64 0 = = 128 0 *2 Решение 1 Правильный выбор памяти для данных – задача программиста. 4

Представление целых чисел

1 байт

Что напечатает

программа?

Var x: byte;

Begin

x:=131;

x:=x*2;

write(x);

End .

?

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

0

0

0

0

=

0

0

0

0

0

0

1

0

=

0

0

0

0

0

0

0

=

2

0

0

0

0

0

=

4

0

0

0

0

=

0

8

0

0

=

0

16

0

0

=

0

32

0

64

0

=

=

128

0

*2

Решение

1

Правильный выбор памяти для данных – задача программиста.

4

Представление целых чисел Решение : Что напечатает данная программа? Var x: byte; Begin 0 x:=131; 1 x:=x*2; 0 write(x); 1 1 1 0 0 1 0 End . 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 Значение байта любое 1 1 1 1 0 1 131=2 7 +2 1 +2 0 0 Сдвиг влево Вывод: 6 (6=2 2 +2 1 ) Ответ : 6 При каком самом большом значении целой переменной x эта программа выведет правильный ответ? ? Ответ Ответ: 127 5

Представление целых чисел

Решение :

Что напечатает данная программа?

Var x: byte;

Begin

0

x:=131;

1

x:=x*2;

0

write(x);

1

1

1

0

0

1

0

End .

0

0

1

0

0

1

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

1

Значение байта любое

1

1

1

1

0

1

131=2 7 +2 1 +2 0

0

Сдвиг влево

Вывод: 6 (6=2 2 +2 1 )

Ответ : 6

При каком самом большом значении целой переменной x эта программа выведет правильный ответ?

?

Ответ

Ответ: 127

5

Представление целых чисел Беззнаковое представление можно использовать только для неотрицательных целых чисел. Количество разрядов Диапазон чисел 8 [0; 255] 16 [0; 65 535] 32 [0; 4 294 967 295] 64 [0; 18 446 744 073 709 551 615] Способ представления целых чисел обеспечивает: эффективное расходование памяти повышение быстродействия повышение точности вычислений за счёт введения операции деления нацело с остатком

Представление целых чисел

Беззнаковое представление можно использовать только для неотрицательных целых чисел.

Количество разрядов

Диапазон чисел

8

[0; 255]

16

[0; 65 535]

32

[0; 4 294 967 295]

64

[0; 18 446 744 073 709 551 615]

Способ представления целых чисел обеспечивает:

  • эффективное расходование памяти
  • повышение быстродействия
  • повышение точности вычислений за счёт введения операции деления нацело с остатком
Представление целых чисел Представление числа в привычной для человека форме «знак – величина», при которой старший разряд ячейки отводится под знак, а остальные разряды — под цифры числа, называется прямым кодом . ! 1 0 1 + 1 - 88 88 0 0 1 1 1 1 0 0 0 0 0 0 Работа с числами в прямом коде требует особых алгоритмов: для действия «вычитание»; для особой обработки знакового разряда. В прямом коде можно хранить числа, но работа с ними требует более сложной архитектуры центрального процессора. Количество разрядов 8 Диапазон чисел 16 [-128; 127] 32 [-32 768; 32 767] 64 [-2 147 483 648; 2 147 483 647] [-9 223 372 036 854 775 808; 9 223 372 036 854 775 807]

Представление целых чисел

Представление числа в привычной для человека форме «знак – величина», при которой старший разряд ячейки отводится под знак, а остальные разряды — под цифры числа, называется прямым кодом .

!

1

0

1

+

1

-

88

88

0

0

1

1

1

1

0

0

0

0

0

0

Работа с числами в прямом коде требует особых алгоритмов:

  • для действия «вычитание»;
  • для особой обработки знакового разряда.

В прямом коде можно хранить числа, но работа с ними требует более сложной архитектуры центрального процессора.

Количество разрядов

8

Диапазон чисел

16

[-128; 127]

32

[-32 768; 32 767]

64

[-2 147 483 648; 2 147 483 647]

[-9 223 372 036 854 775 808;

9 223 372 036 854 775 807]

Дополнительный код числа Сумма отрицательного числа и его модуля равна 0.   Например:   Выделим под значение один байт памяти компьютера .   1 1 ? ? 0 0 0 0 0 ? ? 0 ? ? 1 0 1 0 0 1 ? 0 ? 1 ? ? 0 0 0 0 0 0 0 ? 0 ? ? ? 0 0 0 0 0 0 ? ? 0 0 0 0 + Сколько надо прибавить, чтобы получить 0? Сколько надо прибавить, чтобы получить 2 8 ? 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - Отрицательное число Дополнительный код

Дополнительный код числа

Сумма отрицательного числа и его модуля равна 0.

Например:

 

Выделим под значение один байт памяти компьютера .

 

1

1

?

?

0

0

0

0

0

?

?

0

?

?

1

0

1

0

0

1

?

0

?

1

?

?

0

0

0

0

0

0

0

?

0

?

?

?

0

0

0

0

0

0

?

?

0

0

0

0

+

Сколько надо прибавить, чтобы получить 0?

Сколько надо прибавить, чтобы получить 2 8 ?

1

1

0

0

0

0

1

1

0

0

0

0

0

0

0

1

0

0

0

1

1

1

1

1

0

0

0

0

0

0

1

1

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

-

-

Отрицательное число

Дополнительный код

Представление целых чисел   Дополнительный n -разрядный код отрицательного числа равен 2 n  - . n разрядов 2 n 2 n 1 1 2 n  -1 2 n  -1 0 0 0 (2 n  -1)- 1 1 0 1 1 0 0 0 0 1 0 1 (2 n  -1 ) - +1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 + + 0 1 1 0 0 0 Алгоритм -   Записать прямой  n- разрядный код Инвертировать Прибавить 1 Найдите n отличий Дополнительный  n- разрядный код 2 n  -  

Представление целых чисел

 

Дополнительный n -разрядный код отрицательного числа равен 2 n - .

n разрядов

2 n

2 n

1

1

2 n -1

2 n -1

0

0

0

(2 n -1)-

1

1

0

1

1

0

0

0

0

1

0

1

(2 n -1 ) - +1

1

1

1

0

1

0

0

1

1

1

0

1

0

1

0

1

0

0

0

1

1

0

0

1

0

1

1

0

1

0

0

1

1

0

1

0

0

0

0

1

0

0

0

1

1

1

1

1

1

0

0

1

0

1

1

1

0

1

1

0

0

+

+

0

1

1

0

0

0

Алгоритм

-

 

  • Записать прямой n- разрядный код
  • Инвертировать
  • Прибавить 1

Найдите n отличий

Дополнительный n- разрядный код 2 n -

 

Алгоритм Представление целых чисел Записать прямой n- разрядный код Инвертировать Прибавить 1   Определить восьмиразрядный дополнительный код  числа -24. Решение: 24=16+8=11000 2 8 разрядов 0 1 0 0 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 1 + 1 0 1 0 0 Ответ: 11101000

Алгоритм

Представление целых чисел

  • Записать прямой n- разрядный код
  • Инвертировать
  • Прибавить 1

 

Определить восьмиразрядный дополнительный код числа -24.

Решение:

24=16+8=11000 2

8 разрядов

0

1

0

0

1

1

1

1

1

1

0

0

1

0

0

0

1

0

1

1

+

1

0

1

0

0

Ответ: 11101000

Представление целых чисел Определить значение по восьми-разрядному коду . 1 0 0 1 1 0 0 0 Решение: В старшем разряде 1 , значит число меньше 0 . Вычесть 1 из двоичного числа Инвертировать Вычесть 1 из двоичного числа Инвертировать   Обратный алгоритм Инвертировать   Прямой алгоритм Прибавить 1 к двоичному числу Прибавить 1 к двоичному числу Перевести в 10-ую систему счисления Ответ: 104

Представление целых чисел

Определить значение по восьми-разрядному коду .

1

0

0

1

1

0

0

0

Решение:

В старшем разряде 1 , значит число меньше 0 .

  • Вычесть 1 из двоичного числа Инвертировать
  • Вычесть 1 из двоичного числа
  • Инвертировать

 

Обратный алгоритм

  • Инвертировать

 

Прямой алгоритм

  • Прибавить 1 к двоичному числу
  • Прибавить 1 к двоичному числу

Перевести в 10-ую систему счисления

Ответ: 104

Представление вещественных чисел   Экспоненциальная форма вещественного числа порядок числа основание системы счисления мантисса Число в Число в компьютере математике Непрерывно Непрерывно Бесконечно Бесконечно Не ограничено Не ограничено

Представление вещественных чисел

 

Экспоненциальная

форма

вещественного

числа

порядок числа

основание

системы счисления

мантисса

Число в

Число в

компьютере

математике

Непрерывно

Непрерывно

Бесконечно

Бесконечно

Не ограничено

Не ограничено

Представление вещественных чисел Нормализованная запись вещественного числа – это запись в виде , где – целое число,   – система счисления, – дробь, целая часть которой содержит одну значащую цифру, т. е. 1 ≤   ! Знак мантиссы Мантисса Знак порядка Порядок

Представление вещественных чисел

Нормализованная запись вещественного числа – это запись в виде , где целое число, – система счисления, – дробь, целая часть которой содержит одну значащую цифру, т. е. 1 ≤

 

!

Знак мантиссы

Мантисса

Знак порядка

Порядок

Самое главное В математике множество целых чисел дискретно, бесконечно и не ограничено. Компьютерное представление целых чисел дискретно, конечно и ограничено. Для компьютерного представления целых чисел используется 8, 16, 32 или 64 разряда. Для записи знака выделен один знаковый разряд.   В математике множество вещественных чисел непрерывно, бесконечно и не ограничено. Компьютерное представление вещественных чисел дискретно, конечно и ограничено. Вещественные числа в компьютере представлены нормализованной записью , где – целое число, – дробь, целая часть которой содержит одну значащую цифру (1 ≤

Самое главное

В математике множество целых чисел дискретно, бесконечно и не ограничено. Компьютерное представление целых чисел дискретно, конечно и ограничено. Для компьютерного представления целых чисел используется 8, 16, 32 или 64 разряда. Для записи знака выделен один знаковый разряд.

 

В математике множество вещественных чисел непрерывно, бесконечно и не ограничено. Компьютерное представление вещественных чисел дискретно, конечно и ограничено. Вещественные числа в компьютере представлены нормализованной записью , где целое число, – дробь, целая часть которой содержит одну значащую цифру (1 ≤

Вопросы и задания Почему множество целых чисел, представимых в памяти компьютера, дискретно, конечно и ограничено?: Какие из чисел можно сохранить в однобайтном знаковом формате? 200 8 -100 10 -55 10 Ответ -200 8 93 10 93 16 Представить числа в однобайтовом беззнаковом формате: 43 16 = 11101 2 = 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 Ответ

Вопросы и задания

  • Почему множество целых чисел, представимых в памяти компьютера, дискретно, конечно и ограничено?:
  • Какие из чисел можно сохранить в однобайтном знаковом формате?

200 8

-100 10

-55 10

Ответ

-200 8

93 10

93 16

  • Представить числа в однобайтовом беззнаковом формате:

43 16 =

11101 2 =

0

0

1

0

0

0

0

1

0

1

0

1

1

0

1

1

Ответ

Вопросы и задания Запишите числа в прямом однобайтном коде: 58 16 = -43 16 = 1 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 -100 10 = 100 8 = 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 Ответ Какие числа представлены в нормализованной записи? -12,145∙10 3 1,2145∙10 0 Ответ -1,2145∙10 3 -0,2145∙10 3

Вопросы и задания

  • Запишите числа в прямом однобайтном коде:

58 16 =

-43 16 =

1

0

1

1

0

0

0

1

0

1

0

0

0

1

0

1

-100 10 =

100 8 =

1

0

1

1

0

1

0

0

0

0

0

1

0

0

0

0

Ответ

  • Какие числа представлены в нормализованной записи?

-12,145∙10 3

1,2145∙10 0

Ответ

-1,2145∙10 3

-0,2145∙10 3

Вопросы и задания Представьте дополнительные коды чисел в восьмираз-рядном формате: -73= -32= 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 -56= 1 1 0 0 1 0 0 0 Ответ Определить десятичное число по дополнительному коду: -63= -118= 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 0 Ответ 14= 0 0 0 0 1 1 1 0 Переменная A – целое неотрицательное число, занимающее в памяти 4 байта. Какую самую большую степень числа 4 можно вычислить? Решение

Вопросы и задания

  • Представьте дополнительные коды чисел в восьмираз-рядном формате:

-73=

-32=

1

1

1

0

1

1

0

1

0

0

0

1

0

1

1

0

-56=

1

1

0

0

1

0

0

0

Ответ

  • Определить десятичное число по дополнительному коду:

-63=

-118=

1

1

1

0

0

0

0

0

0

1

0

0

0

1

1

0

Ответ

14=

0

0

0

0

1

1

1

0

  • Переменная A – целое неотрицательное число, занимающее в памяти 4 байта. Какую самую большую степень числа 4 можно вычислить?

Решение

Вопросы и задания Переменная A – целое неотрицательное число, занимающее в памяти 4 байта. Какую самую большую степень числа 4 можно вычислить? 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 Решение : 4 байта = 32 бита. Единица в старшем разряде соответствует числу 2 31 . 2 31 = 2 ∙ 2 15∙2 = 2 ∙ 4 15 Ответ: 15

Вопросы и задания

  • Переменная A – целое неотрицательное число, занимающее в памяти 4 байта. Какую самую большую степень числа 4 можно вычислить?

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

4 0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

4 1

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

4 15

Решение :

4 байта = 32 бита.

Единица в старшем разряде соответствует числу 2 31 .

2 31 = 2 ∙ 2 15∙2 = 2 ∙ 4 15

Ответ: 15