Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Представление чисел с дробной частью (способ с плавающей точкой)




Целые типы в VB

Представление целых чисел (способ с фиксированной точкой)

Представление символов

Представление информации

Представление информации будет рассматриваться применительно к языку программирования Visual Basic (далее будет применяться сокращение VB).

Для записи символа отводится ячейка памяти длиной в 1 байт. Каждому символу в соответствии с таблицей ASCII поставлен в соответствие код из диапазона от 0 до 255, например:

Символ Десятичный код Содержание ячейки памяти
A    
B    
C    
D    
. . .
. . .
. . .
     
     
     
     
. . .
. . .
. . .
Пробел    

 

Ячейка памяти может быть длиной 1, 2 или 4 байта.

  Название типа Длина ячейки памяти в байтах   Диапазон значений
Byte (байт)   От 0 до 255
Integer (целый)   От -32 768 до 32 767
Long (длинный целый)   От -2 147 483 648 до 2 147 483 647

Пример представления целого числа 3 типа Byte (снизу указаны веса разрядов):

                Значения разрядов
27 26 . . . 22 21 20 Веса разрядов

Следует сразу обратить внимание на принципиальное отличие символа от числа (например, символа 3 и числа 3). Несмотря на внешнее совпадение их изображений, они рассматриваются как разные объекты, между которыми нет никакой связи. Двоичный код символа 3 (01010011) отличается от двоичного кода числа 3 (00000011).

На запись знака не отведено места. Поэтому числа типа Byte могут быть только положительными. Максимальное значение, которое может быть записано по типу Byte равно 28 – 1 = 255.

Рассмотрим пример представления целого числа 21 типа Integer:

                               
Знак 214 213           . . .     22 21 20

Знаковый разряд имеет значение 0 для положительных чисел и значение 1 для отрицательных чисел. Отрицательные числа записываются в так называемом дополнительном коде, но это выходит за рамки нашего рассмотрения.

Итак, один разряд отведен под знак и оставшиеся 15 разрядов – под значение числа. Максимальное значение абсолютного значения числа легко вычислить, для неотрицательных чисел это 215 – 1 = 32767, для отрицательных чисел это 215 = 32768.

Обратите внимание, на дробную часть не отведены разряды. Это понятно, ведь целые типы предназначены для данных принципиально принимающих только целочисленные значения.

Для представления данных, которые имеют или могут иметь дробную часть, применяется способ с плавающей точкой.

Поясним идею этого метода в привычной для нас десятичной системе счисления. Любое действительное число может быть записано в научном формате, например:

123456000000000 = 1,23456*1014 = 0,123456*1015 или

0,00000000123456 = 0,123456*10-8

Очевидно, что любое число z в десятичной системе счисления может быть записано в таком формате в виде:

z = + – 0, m * 10+ – p,

где:

m – дробная часть, называемая мантиссой;

p – целое число, называемое порядком.

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

Все это верно и для двоичной системы счисления:

z = + – 0, m * 2+ – p,

где z, m и p записаны в двоичной системе счисления.

Что нужно записать в ячейке памяти, чтобы было можно восстановить значение записанного числа? Очевидно, это четыре отдельных элемента: знак числа, мантисса, знак порядка и сам порядок.

Ячейка памяти для данных с дробной частью может быть длиной 4 или 8 байтов.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 365; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.