DEV

Конвертер систем числення: двійкова, вісімкова, шістнадцяткова

Чому розробникам потрібно знати різні системи числення

Комп'ютери працюють у двійковій системі, але читати і записувати довгі двійкові числа незручно. Шістнадцяткова (hex) система широко використовується для кольорів (#FF5733), адрес пам'яті, байтових значень і налагодження низькорівневого коду. Вісімкова система зустрічається в правах доступу Unix (chmod 755).

Основи систем числення

Двійкова (основа 2): цифри 0–1. Десяткове 10 = двійкове 1010. Вісімкова (основа 8): цифри 0–7. Десяткове 255 = вісімкове 377. Шістнадцяткова (основа 16): цифри 0–9 та A–F. Десяткове 255 = шістнадцяткове FF. Шістнадцяткова зручна тим, що кожна цифра точно представляє 4 біти (ніббл).

Побітові операції

AND (&), OR (|), XOR (^), NOT (~), зсув ліворуч (<<), зсув праворуч (>>). Наш конвертер показує результати побітових операцій у всіх системах числення. Це корисно для роботи з бітовими масками, прапорцями та протоколами низького рівня.

Від'ємні числа і доповнення до двох

Від'ємні числа в комп'ютерах зазвичай представляються у форматі доповнення до двох (two's complement). -1 у 8-бітній системі = 11111111 (255 у беззнаковому). Це пояснює, чому в переповненнях цілих чисел: 127 + 1 = -128 у signed int8. Конвертер показує як знакові, так і беззнакові представлення.