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

Этот код основан на простом соображении, что x+ (-x) = 0 при сложении двоичных чисел столбиком. При этом единица, которая переходит из старшего 7‑го бита в несуществующий 8‑ой бит, пропадает. Например, для однобайтного числа x = 5 имеем

x = 5 = 0000 0101

+

– x = -5 = **** ****

____________________

0 = 0 = 0000 0000

Теперь конструируем число -5 = 1111 1011.

6. Целочисленные типы данных в языке Си

Таблица 3. Целочисленные типы данных

Название типа Размер в байтах Диапазон
unsigned char 1

0 … 255,

0. 28 -1

char, signed char 1

-128 … 127,

-27 … 27 -1

unsigned int 2 0. 65535,
0. 216 -1,
0…64K–1
int, signed int 2 -32758 … 32757,
-215 … 215 - 1,
-32 K… 32 K– 1
unsignedlong 4 0… 232 - 1,
0… 4 M– 1
long 4 -231… 231 - 1,
0… 4 M– 1

По умолчанию целые десятичные константы имеют тип int. Поэтому все целые числа должны содержаться в диапазоне -32758… 32757. Например, запись x = 100000 будет ошибочна независимо от типа переменной x. Для обозначения целой константы типа long используется суффикс l. Тогда инициализация longx = 100000l будет корректна.

Компилятор не проверяет выход результата целочисленного выражения за диапазон типа. Запись longx = 20000 + 20000 будет ошибочна, так как 40000 не содержится в диапазоне типа int. Это будет «хорошо скрытая» ошибка. Реально x будет содержать значение
40000 – 64 К. Запись longx = 20000l + 20000 будет уже корректна, так как результат будет иметь уже тип long.

Построим область корректного сложения для типа char.

char x, y, z;

x = y = 100;

z = x + y;

Нарисуем в системе координат (x, y) множество, для которого z будет содержать корректный ответ. Имеем систему

решением которой является шестиугольник.

Рис. 1. Диапазон корректного сложения

7. Вещественные типы данных в языке Си

Вещественные типы всегда имеют знак.

Определение 3 . Нормализованной формой ненулевого числа x называется запись x = M×10p , где M– мантисса, 0,1 £½M½ < 1, p – порядок числа х.

Нормализованная форма числа единственна.


Таблица 4. Вещественные типы данных

Название типа Размер в байтах Размер мантиссы в десятичных знаках Размер порядка в битах Диапазон
float 4 7–8 8 3,4×10-38 … 3,4×1038
double 8 15–16 11 1,7×10-3 0 8 … 1,7×103 0 8
longdouble 10 19–20 15 3,4×10-4932 … 1,1×104932

Определение 4 . Машинным нулем для данного вещественного типа называется минимальное положительное число того же типа

m0 = min {x: x > 0}.

К-во Просмотров: 230
Бесплатно скачать Лабораторная работа: Системы счисления и представления типов данных