Page 12 - 4989
P. 12
число, що представляється М бітами, завжди має вигляд
послідовності з М одиниць.
Для запису довільного цілого беззнакового числа N в
двійковому коді необхідно не менше log N двійкових розрядів
2
(біт). Наприклад, представлення чисел з діапазону 0...100
потребує не менше 7 біт, оскільки log 100≈6,64. Щоб не
2
обчислювати логарифми, можна просто знайти такі два значення
цілих степенів двійки, щоб верхня межа діапазону знаходилась
між ними. Для даного прикладу число 100 знаходиться між 64 і
128, тобто потребує 7 біт для представлення. Дійсно, 100 (10) =
1100100 , тобто число має 7 біт.
(2)
Таблиця 1.3 – Цілі степені двійки
М 2 3 4 5 6 7 8 9 10 11 12 13 14
М
2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
При зберіганні цілих чисел у пам’яті можливі два варіанти:
байти числа зберігаються або починаючи від молодшого і
закінчуючи старшим (little-endian), або навпаки (big-endian).
Порядок байтів визначається архітектурою процесора. У
процесорах сімейства х86 використовується порядок little-endian,
тобто, наприклад, якщо змінна Х типу int дорівнює
шістнадцятковому числу 2BCC3D, то вона буде записана в
пам’яті таким чином:
адреса addr(X) addr(X)+1 addr(X)+2 addr(X)+3
дані 3D CC 2B 00
Порядок запису big-endian використовується, наприклад, у
процесорах з архітектурою SPARC та Motorola 68xxx.
Розташування байтів в пам’яті для вищенаведеного прикладу
буде таким:
адреса addr(X) addr(X)+1 addr(X)+2 addr(X)+3
дані 00 2B CC 3D
При зберіганні знакових чисел один біт (як правило,
найстарший) використовують для зберігання знаку (рис. 1.3).
12