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

Числа состоят из цифр, расположенных в строго определенном порядке. Каждая цифра занимает свое место или позицию. Кроме цифр при записи чисел применяются: знак отрицательного числа”-“, знак разделения целой части от дробной ".", знак разделения мантиссы и порядка "E" (в записи с плавающей десятичной точкой записывается *10^ где * - умножить, ^ - возвести в степень.). Например:

Число -0.000000145, записанное с фиксированной десятичной точкой можно записать с плавающей десятичной точкой:-1.45*10^-7 где 1.45 - мантисса, а -7 - порядок. В компьютерной форме: -1.45Е-07, где 1.45 - мантисса, а -07 - порядок.

Число 0.0000000058621 с фиксированной десятичной точкой =5.8621*10^-9 с плавающей десятичной точкой = 5.8621Е-09 в компьютерной записи.

Число 547890000000 с фиксированной десятичной точкой = 5.4789*10^11 с плавающей десятичной точкой = 5.4789E+11 в компьютерной записи.

Число -3400000 с фиксированной десятичной точкой = -3.4*10^6 с плавающей десятичной точкой = -3.4E+06 в компьютерной записи.

В компьютерах числа записываются в компьютерной форме записи, причем записываются в определенных местах значение целой части мантиссы, значение дробной части мантиссы и значение порядка. Для записи каждой позиции десятичного числа (десятичного разряда) отводится 1/2 байта или 4 двоичных разряда. Коды десятичных цифр: 1 - 0001, 2 - 0010, 3 - 0011, 4 - 0100, 5 - 0101, 6 - 0110, 7 - 0111, 8 - 1000, 9 - 1001, 0 - 0000. Знаки числа и порядка кодируются в одном бите каждый. При положительном значении - 0, при отрицательном значении - 1..В 32 разрядном машинном коде, состоящем из 4-Х байт, информация кодируется следующим образом:

1 байт 2 байт 3 байт 4 байт

1 полубайт полубайт


целая часть дробная часть мантиссы значение порядка

мантиссы

знак порядка

знак числа

Точка и Е не кодируются, т.к. позиции числа уже определены. В первом двоичном разряде первого полубайта записывается знак числа, во втором знак порядка, 3 и 4 оставшиеся двоичные разряда первого полубайта мы использовать не будем. Во втором полубайте записывается целая часть мантиссы, которая в приведенном виде должна содержать одну цифру. Во 2-ом и 3 байте в четырех полубайтах записываются четыре цифры дробной части мантиссы. Если цифр меньше то оставшиеся позиции заполняются нулями. В последнем байте в двух полубайтах записывается значение порядка. Примеры:

1.45*10^-7 = -1.45E-07

1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1


- - 1 4 5 0 7

5.8621*10^-9 = 5.8621E-09

0 1 0 0 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 n1 1


+ - 5 8 6 2 1 0 9

0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1
5.4789*10^11 = 5.4789E+11


+ + 5 4 7 8 9 1 1

-3.4*10^6 = -3.4E+06

1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0


- + 3 4 0 6


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: