Основы объектно-ориентированного программирования на языке C# book | Page 97

6.7 Зображення дiйсних чисел розташованих байтах. Для даних рiзних типiв використовується рi- зна кiлькiсть байтiв (табл. 6.3). Назва типу Обсяг Дiапазон значень sbyte 1 байт вiд -128 до 127 short 2 байти вiд -32 768 до 32 767 int 4 байти вiд -2 147 483 648 до 2 147 483 647 long 8 байтiв вiд −2 63 до 2 63 − 1 byte 1 байт вiд 0 до 255 ushort 2 байти вiд 0 до 65 535 uint 4 байти вiд 0 до 4 294 967 295 ulong 8 байтiв вiд 0 до 2 64 − 1 Табл. 6.3: Цiлi типи даних в C# . Ми бачимо, що дiапазон можливих значень цiлих типiв iстотно за- лежить вiд кiлькостi байтiв, необхiдних для внутрiшнього зображен- ня. За загальноприйнятими правилами, при зображеннi чисел зi знаком крайнiй лiвий бiт старшого байта 0 використовується для зображення знака плюс i 1 – для мiнуса. Легко бачити, що при цьому найменшим вiд’ємним числом, що на- лежить типу byte, є число -128 – двiйкове зображення 10000000, а най- бiльшим – число 127 (зображення 01111111). Звернiть увагу: якщо до числа 01111111 додати одиницю, то вийде 10000000, що означає: 127 + 1 = -128. Отже, множину елементiв типу byte можна зобразити у виглядi згорнутого в кiльце вiдрiзка [–128; 127]. Для елементiв множини цiлих чисел, що зображується типом byte, не виконується властивiсть цiлих чисел x + 1 > x. Нерозумiння цього факту може призвести до вкрай неприємних наслiдкiв. Машиннi значення дiапазону цiлих типiв наведенi в табл. 6.4. 6.7 Зображення дiйсних чисел На вiдмiну вiд зображення цiлих чисел, що вiдрiзняється абсолютною точнiстю, з дiйсними числами не все так просто. Для зображення дiйсних чисел у мовi C# використовуються типи float , double . Тип float займає 4 байти. З них 1 байт придiляється для знака, 8 бiтiв – для характеристики i 23 бiти – для мантиси. Старший бiт мантиси 97