Типы данных

Типы данных

Xalion

Данными и процессами в компьютере управляют машинные команды ISA. Чтобы не возникало проблем с совместимостью команд и данных, существуют аппаратная и программная поддержка данных.

Аппаратная поддержка — это низкоуровневые команды ISA, они работают с данными в конкретном виде. Если команда получает данные в другом виде — ничего работать не будет.
Если передать команде отрицательное число и поставить после него еще один минус, то команда ничего не поймет и остановится.

15 поймёт, –15– не поймёт.
Программная поддержка — это интерпретатор. Он собирает данные по кусочкам в такой вид, какой понимает аппаратная поддержка.
Компьютеру дают число длиной 64 бит и он не поддерживает такие длинные числа. Программная поддержка соберет его из двух 32-битных или четырёх 16-битных чисел.

Машинные команды работают с двумя типами данных: числовыми и нечисловыми. Они хранятся в двоичном коде.


Размер числа всегда кратен двум: 8, 16, 32, 64 и 128 бит. Чем больше бит для записи, тем больше число. В 32-битное число поместится одно из 4 294 967 295 чисел.

2³² = 4 294 967 296, но компьютеры считают с нуля. Так происходит из-за нумерации памяти — первое число обозначается нулём.

Компьютеры поддерживают целые и дробные числа. Они делятся на положительные и отрицательные.

Беззнаковое 8-битное число вмещает числа от 0 до 255, потому что записывают только положительные. Под данные отдаётся 8 бит.
Знаковое 8-битное число вмещает числа от –128 до 127. Тут вдвое меньше, потому что один бит хранит знак числа. Под данные отдаётся 7 бит.
Для знака числа выделяется первый бит. 0 — положительное,
1 — отрицательное.
Первым стоит ноль — положительное число 43
Первой стоит единица — отрицательное число –43

Для дробных чисел используют числа с плавающей точкой. Их длина — 32, 64
и 128 бит. Запятая между частями числа требует отдельного байта.
Кодировка данных в компьютере и системы счисления — объёмный раздел, по нему будет отдельный ряд статей.


К нечисловым относятся булевы значения, указатели и символы.

Булевы значения — логический тип данных. Ложь — 0 и истина — 1.
Они занимают один байт, реже одно слово.
Рыбы живут в воде — 1. Солнце фиолетовое – 0.
Указатели — переменные, они хранят физический адрес ячейки памяти.
Поставим указатель P на переменную V и выведем P на экран.
Получаем адрес переменной V в памяти, например, 0x6dfef8.

О символах мы писали в статье о кодировках символов.

Следующая статья о форматах команд.

Report Page