Преобразуване на число между двоична, осмична, десетична и шестнадесетична

лесно преобразува число от входен формат (десетичен, двоичен, осмичен, шестнадесетичен) в различни изходни формати, улеснявайки задачите по програмиране, debug и анализ на данни.

Защо да използвате инструмент за преобразуване на числа?

Преобразуването между бази (двоични, осмични, шестнадесетични, десетични) е често срещана необходимост в програмирането на ниско ниво, електрониката, криптографията и анализа на данни. Този инструмент преобразува число във всичките четири бази наведнъж, без да се налага да посочвате входния формат.

Автоматично откриване на входния формат

Инструментът открива входната база автоматично:

  • Префикс 0b: двоичен (напр. 0b101010)
  • Префикс 0o: осмичен (напр. 0o52)
  • Префикс 0x: шестнадесетичен (напр. 0x2a)
  • Без префикс, съдържащ букви a-f: шестнадесетичен (напр. 2a, ff)
  • Само без префикс и числа: десетичен знак (напр. 42)

Как да използвате инструмента

Въведете число в полето за въвеждане, след което щракнете върху „Конвертиране“. И четирите представяния (двоично, осмично, шестнадесетично, десетично) ще бъдат показани едновременно. След това можете да копирате резултата със специалния бутон.

Пример

Сейзи: 0b101010

Резултати:

двоичен: 101010
осмично: 52
шестнадесетичен: 2a
десетична: 42

Често задавани въпроси

Какви са приетите префикси за разграничаване на основите?

Инструментът разпознава стандартните конвенции: 0b за двоично (напр. 0b101010), 0o за осмично (напр. 0o52), 0x за шестнадесетично (напр. 0x2a). Без префикс число, състоящо се само от цифри, се интерпретира като десетично, а число, съдържащо букви от a до f, се интерпретира като шестнадесетично. Тази конвенция е съвместима с Python, JavaScript и повечето съвременни езици.

Защо да конвертирате между двоичен, осмичен, шестнадесетичен и десетичен?

Различните бази обслужват различни контексти. Двоичният файл вярно представя структурата на паметта (битове, флагове, маски). Шестнадесетичният компресира 4 бита на знак, идеален за четене на адреси на паметта, цветове (#ff6600), хешове или UUID. Octal все още се появява при разрешения на Unix (chmod 755). Decimal е обичайната човешка основа. Преобразуването между тези бази е от съществено значение при ниско ниво на сигурност и работа в мрежа.

Каква е разликата между база 2, база 8, база 16 и база N?

Основата на една бройна система показва колко различни символа използва. Основа 2 (двоична) използва 0 и 1, основа 8 (осмична) цифрите 0 до 7, основа 10 (десетична) цифрите 0 до 9, основа 16 (шестнадесетична) добавя a към f. Всяка основа N следва същия принцип: N символа и всяка позиция струва N^k. Този инструмент е насочен към четирите общи бази (2, 8, 10, 16).

Инструментът обработва ли отрицателни или десетични числа?

Текущата версия се фокусира върху положителни цели числа, които покриват повечето от нуждите на системното програмиране. Отрицателните числа се изразяват в допълнение от две според фиксирана ширина на думата (8, 16, 32, 64 бита) и изискват допълнителен контекст. Числата на точките в двоична система (стандарт IEEE 754) са отделна тема. За тези случаи използвайте printf, bc на командния ред или инструмент, предназначен за IEEE 754.

Как ръчно да конвертирате между двоичен и шестнадесетичен?

Двоичното в шестнадесетично преобразуване е тривиално, защото 4 бита са точно една шестнадесетична цифра. Разделете двоичния файл на 4-битови групи отдясно и заменете всяка група с нейния шестнадесетичен еквивалент: 0000 дава 0, 1010 дава a, 1111 дава f. Пример: 10101010 е разделен на 1010 1010 и струва aa. Обратният път също е директен.

Защо моето шестнадесетично число ff дава 255 в десетична форма?

В шестнадесетичен начин всяка цифра представлява степен на 16. ff е f * 16 + f * 1 или 15 * 16 + 15 = 255. Това е максималната стойност на байт (8 бита), оттук и вездесъщото присъствие на ff в програмирането: максимална интензивност на цветен канал (#ff0000 чисто червено), пълна маска, стойност на стража.

Пример за заявка

curl -X POST https://cdrn.fr/api/v1/tools/number-converter/execute \
  -H "Content-Type: application/json" \
  -d '{"number":"..."}'

Входна схема

Поле Тип Задължително По подразбиране
number string

Крайни точки

  • GET https://cdrn.fr/api/v1/tools - изброява всички достъпни инструменти
  • GET https://cdrn.fr/api/v1/tools/number-converter - извлича схемата на този инструмент
  • POST https://cdrn.fr/api/v1/tools/number-converter/execute - изпълнява този инструмент с JSON payload