Калкулатор за конверзија на основи
Конвертирајте цел број во бинарен, октален, децимален и хексадецимален систем.
Како да се користи овој калкулатор за конверзија на основи
- Внесете го целиот број
Внесете ненегативен цел број во полето „Цел број“ (на пр. 255 или 4096).
- Прочитајте ја бинарната вредност
Резултатот во бинарна вредност го прикажува претставувањето во основа 2.
- Проверете октално и хексадецимално
Прегледајте ги окталните и хексадецималните резултати за компактни претставувања.
- Потврдете децимално
Децималниот излез ја потврдува оригиналната вредност за вкрстена проверка.
Како работи овој калкулатор за конверзија на основи
Овој калкулатор за конверзија на основи зема цел број во децимален систем (основа 10) и го претставува во бинарен (основа 2), октален (основа 8) и хексадецимален (основа 16) — четирите бројни системи кои најчесто се користат во компјутерството. Секој позиционен броен систем работи на ист начин: секоја позиција на цифрата претставува последователен степен на основата, а вредноста на бројот е збирот на секоја цифра помножена со нејзината позициона тежина. Конвертирањето помеѓу основите е фундаментална операција во програмирањето на ниско ниво, дизајнот на дигитална логика, мрежното инженерство (MAC и IPv6 адреси), кодовите за бои во CSS, маските за дозволи на датотеки во Unix и инспекцијата на мемориските адреси при дебагирање.
Повторено делење: поделете го N со целната основа R, запишете го остатокот, повторете со количникот додека не достигне 0, а потоа прочитајте ги остатоците по обратен редослед Конвертирајте го децималниот број 255 во бинарен, октален и хексадецимален. За бинарен (R = 2): 255 ÷ 2 = 127 остаток 1, 127 ÷ 2 = 63 R 1, 63 ÷ 2 = 31 R 1, 31 ÷ 2 = 15 R 1, 15 ÷ 2 = 7 R 1, 7 ÷ 2 = 3 R 1, 3 ÷ 2 = 1 R 1, 1 ÷ 2 = 0 R 1. Читајќи ги остатоците од долу нагоре: 11111111. За октален (R = 8): 255 ÷ 8 = 31 R 7, 31 ÷ 8 = 3 R 7, 3 ÷ 8 = 0 R 3 → 377. За хексадецимален (R = 16): 255 ÷ 16 = 15 R 15 (F), 15 ÷ 16 = 0 R 15 (F) → FF.
Децимално 4096 → бинарно 1000000000000, октално 10000, хексадецимално 1000. Корисно за разбирање на 4 KiB = 4096 бајти.
Децимално 15 → бинарно 1111, октално 17, хексадецимално F. Секоја хексадецимална цифра се мапира на точно четири бита; F = 1111.
- ✓ Внесот е не-негативен цел број (нула или позитивен цел број). Дробните вредности и негативните броеви бараат проширени алгоритми (на пр. дополнување до два за означен бинарен систем) кои се надвор од опсегот на оваа алатка.
- ✓ Хексадецималните цифри над 9 се претставени со големи букви A–F, следејќи ја конвенцијата во повеќето програмски јазици, RFC-а и хардверска документација.
- ✓ Водечките нули се изоставени од резултатот. За претстави со фиксна должина (на пр. 8-битен или 32-битен бинарен систем), рачно пополнете го резултатот до саканата должина.
- ✓ Калкулаторот прифаќа само не-негативни цели броеви. Вредностите над 2^53 − 1 (Number.MAX_SAFE_INTEGER во JavaScript) се одбиваат за прикажаните цифри да останат точни.
- Секоја хексадецимална цифра одговара на точно четири бинарни цифри (битови), а секоја октална цифра одговара на точно три битови. Овој однос овозможува брза ментална конверзија помеѓу хексадецимален, октален и бинарен систем штом ќе ги запомните 16-те шеми на нибли.
- Вообичаени вредности вредни за паметење: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4.294.967.295 (максималниот неозначен 32-битен цел број).
- Unix дозволите за датотеки користат октален систем: 755 значи rwxr-xr-x (сопственик читање/запишување/извршување, група и останати читање/извршување). Секоја октална цифра кодира три бита за дозвола.
- CSS хексадецималните кодови за бои се три споени хексадецимални бајт вредности што ги претставуваат црвениот, зелениот и синиот канал — на пр., #FF8800 е 255 црвена, 136 зелена, 0 сина.
- Теорија на позициони бројни системи — Knuth, D. E., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Section 4.1
- IEEE 754-2019 — Стандард за аритметика со подвижна запирка (контекст на претставување цели броеви)
- RFC 4291 — IP Version 6 Addressing Architecture (хексадецимална нотација за IPv6)
Разбирање на бројните системи во компјутерството
Секој позиционен броен систем користи основа (radix) и на секоја цифра и доделува тежина врз основа на нејзината позиција. Во децималниот систем (основа 10), најдесната цифра се единици, следната се десетки, па стотки. Бинарниот систем (основа 2) користи само 0 и 1, мапирајќи се директно на состојбите вклучено/исклучено на транзисторите. Окталниот систем (основа 8) групира три бита по цифра, а хексадецималниот (основа 16) групира четири бита по цифра, користејќи A–F за вредностите 10–15. Конвертирањето помеѓу основите користи повторено делење: поделете го бројот со целната основа, запишете го остатокот, повторете со количникот додека не стигнете до нула, а потоа прочитајте ги остатоците по обратен редослед. Овој алгоритам е во основата на сите конверзии на основи во програмирањето.
Практични случаи на употреба за конверзија на основи кај програмерите
Програмерите користат конверзија на основи при инспекција на мемориски депонии (memory dumps), дебагирање на битовни операции, интерпретирање на дозволи за датотеки и работа со кодови за бои. Unix дозволите за датотеки (на пр. 755) се октални: секоја цифра ги кодира дозволите за читање/запишување/извршување за сопственикот, групата и останатите. CSS хексадецималните бои како #FF8800 се три споени бајти во хексадецимален формат. IPv6 адресите се пишуваат во хексадецимален формат. Бит-маските и знаменцата често се изразуваат во хексадецимален формат за подобра читливост (0xFF за бајт маска, 0xFFFF за 16 бита). При дебагирање на код на ниско ниво или мрежни протоколи, конвертирањето помеѓу децимален, хексадецимален и бинарен систем брзо ги открива основните бит-шеми.
ЧПП за калкулатор за конверзија на бројни системи
Зошто бинарниот, окталниот и хексадецималниот систем се користат во компјутерството?
Бинарниот систем директно се мапира на состојбите вклучено/исклучено на транзисторите, што го прави мајчин јазик на хардверот. Окталниот и хексадецималниот систем се компактни кратенки за бинарниот — една хексадецимална цифра претставува точно четири бита, а една октална цифра претставува три бита — па програмерите ги користат за поконцизно изразување адреси, бит-маски и кодови за бои отколку долгите бинарни низи.
Како да конвертирам во другата насока (на пр. од хексадецимален во децимален)?
Помножете ја секоја цифра со нејзината позициона вредност на основата и соберете ги резултатите. На пример, хексадецимално 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 децимално.
Што се случува со многу големи броеви?
Калкулаторот прифаќа само вредности до границата за безбедни цели броеви на JavaScript: 2^53 − 1 (9,007,199,254,740,991). Поголемите броеви се одбиваат бидејќи може да ги изгубат најмалку значајните цифри во прелистувачот.
Можам ли да конвертирам негативни броеви или дропки?
Оваа алатка работи со ненегативни цели броеви. Негативните цели броеви во компјутерството обично се претставени со помош на комплемент на двојка во фиксна битна ширина, а фракционите вредности користат IEEE 754 кодирање со подвижна запирка — и двете бараат дополнителни параметри кои овој калкулатор не ги собира.
Зошто префиксот 0x се појавува во кодот, но не и во резултатот?
Префиксот 0x (и 0b за бинарни, 0o за октални) е специфична синтакса на програмските јазици што му кажува на компајлерот или интерпретаторот која основа да ја очекува. Калкулаторот ја прикажува чистата низа од цифри без префикс за да може да се користи во кој било контекст.