У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


та not a or b; б) a < true та not a.

9.* Указати внутрішнє подання символів, заданих виразами:

а) chr(0), chr(48), chr(57), chr(13), chr(10), chr(65), chr(97);

б) 20h, 30h, 1Ah, 1Bh,

де суфікс "h" указує на шістнадцятковий запис.

10. Написати програму, яка для комп'ютера з невідомою системою подання чисел дозволяє визначити максимальне та мінімальне цілі типу integer.

11.* Указати двобайтовий додатковий код чисел -1, -8, -9, -32767, -32768.

12.* Нехай при додаваннi та відніманнi чисел типу integer перенос із старшого розряду стає змістом знакового розряду, а перенос із знакового розряду втрачається. Чому дорівнює значення виразу:

а) maxint + 1; б) minint - 1,

де maxint та minint позначають максимальне та мінімальне числа типу integer?

13.* Обчислити мінімальне та максимальне за модулем скінченні дійсні числа, що подаються в

а) 4 байтах за d = 8, r = 23;

б) 8 байтах за d = 11, r = 52;

в) 10 байтах за d = 16, r = 63.

14. Нехай d і r з описання подання дійсних чисел невідомі. Написати програму

а) обчислення d і r;

б) друкування виразів, що задають мінімальне та максимальне додатні числа типу real;

в) друкування виразу різниці між двома сусідніми зображуваними числами з відрізка [2i; 2i+1] за допустимих значень i.

3. Цілі та дійсні типи мови Турбо Паскаль

Базовий тип цілих integer утворено цілими, які займають 2 байти в знаковому поданні. Тепер уже зрозуміло, чому їх діапазон від -32768 до 32767. Крім цього типу, в мові Турбо Паскаль є ще кілька типів для подання цілих. Укажемо їх імена, спосіб (знаковий/беззнаковий) та розміри подання в байтах, а також їх діапазони.

Тип Byte – беззнакові в 1 байті, 0..255.

Тип Shortint – знакові в 1 байті, -128..127.

Тип Word – беззнакові в 2 байтах, 0..65535.

Тип Longint – знакові в 4 байтах, -2147483648..2147483647.

Для всіх цих типів означено всі операції, що й для типу Integer.

Числа базового типу Real займають 6 байтів. 1 біт зайнятий знаком числа, 39 – дробовою частиною, 8 – порядком. Нескладно підрахувати, що діапазон додатних чисел – від 2-126? 2.9? 10-39 до (2-2-39)? 2127? 1038.

Значення типу Single займають 4 байти (дробова частина – 23 біти, порядок – 8). Діапазон додатних значень – від 2-126 до (2-2-23)? 2127? 1038.

Значення типу Double займають 8 байтів (дробова частина – 52 біти, порядок – 11). Відзначимо, що з урахуванням особливостей архітектури сучасних комп'ютерів краще користуватися цим типом, ніж типом real [Григ]. Діапазон додатних значень – від 2-1022? 10-315 до (2-2-52)? 21023? 10315.

Значення типу Extended займають 10 байтів (дробова частина – 64 біти, порядок – 15). Діапазон додатних значень – від 2-16382? 10-4931 до ? 2? 216383? 104932.

Відзначимо, що в процесорі комп'ютера числа обробляються саме в поданні типу Extended. При записі в регістри процесора числа з інших типів перетворюються в цей. Отже, цей тип має найбільший серед дійсних типів діапазон та найвищу точність подання дійсних чисел.

Значення типу Comp (скорочене compound – складений) займають 8 байтів. Ці значення є дійсними поданнями цілих чисел від -263 до +263-1. До них застосовні операції дійсних, а не цілих типів.

І останнє зауваження. Кількість байтів, які займаються значеннями будь-якого типу, можна дізнатися, викликавши функцію SIZEOF. Наприклад, із виклику sizeof(Longint) повертається 4, із виклику sizeof(Word) – 2.

Задачі

15. У діалекті Турбо Паскаль на цілих типах визначена операція "додавання за модулем 2" із знаком xor. Вона виконується шляхом побітового додавання операндів за правилами 0? 0=1? 1=0, 1? 0=0? 1=1, тобто без переносу 1 у наступний розряд. Наприклад, у типі Byte 220 xor 127 =163 – це добре видно в байтовім поданні:

? 11011100

01111111

10100011

Довести її властивості: якщо a, b, c позначають довільні цілі операнди, то

a xor a = 0, a xor 0 = a, a xor b = b xor a,

(a xor b) xor c =a xor (b xor c), (a xor b) xor b = a.


Сторінки: 1 2 3 4