Как найти шестнадцатеричное значение

На чтение 4 мин Просмотров 12.6к. Опубликовано 18.05.2022 Обновлено 19.05.2022

Шестнадцатеричная система (англ. — Hexadecimal system ) —  это базовая система счисления с снованием 16. Она, наряду с десятичной и двоичной, является одной из наиболее часто встречающихся систем счисления в мире электроники и программирования. Важно понимать, как она работает, потому что во многих случаях имеет смысл представлять число в ней, а не в двоичной или десятичной.

Шестнадцатеричная система счисления — позиционная система счисления по основанию 16.

Википедия

Существует 16 возможных цифр, которые используют для представления чисел. 10 числовых значений, которые вы привыкли видеть в десятичных числах: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9; эти значения по-прежнему представляют то же значение, что и в десятичной системе. Остальные шесть цифр представлены как A, B, C, D, E и F, которые соответствуют числам 10, 11, 12, 13, 14 и 15.

Возможно, Вы столкнетесь с представлением чисел от 10 до 15 в верхнем и нижнем регистрах. Оба варианта считаются верными. Например, A3F — это то же число, что и a3f.

Эта таблица показывает какой шестнадцатеричной цифре эквивалентно значение в десятичном и двоичном формате.

Десятичный (основание 10) Двоичный (основание 2) Шестнадцатеричный (основание 16)
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 А
11 1011 B
12 1100 С
13 1101 D
14 1110 Е
15 1111 F
таблица 16 ричной системы счисления

Содержание

  1. Перевод из шестнадцатеричной системы и в нее
  2. Преобразование из десятичной в шестнадцатеричную систему и обратно
  3. Преобразование из двоичной в шестнадцатеричную систему и обратно
  4. Использование шестнадцатеричной системы
  5. Цвета

Перевод из шестнадцатеричной системы и в нее

перевод в шестнадцатеричную систему счисления

Преобразование из десятичной в шестнадцатеричную систему и обратно

Чтобы перевести десятичное число в шестнадцатеричное, нужно следовать простому алгоритму преобразования:

  1. Делим десятичное число на 16.
  2. Записываем остаток и переводим его в шестнадцатеричный формат.
  3. Делим результат прошлого действия снова на 16.
  4. Повторяем, пока в результате мы не получим 0.
  5. Переписываем записанные остатки в обратном порядке.
  6. Пример:

    Переведем десятеричное число 1515 в шестнадцатеричную систему

Деление Частное Остаток Порядок записи
(от последнего к первому)
1515/16 94 11 = B 3
94/16 5 14 = E 2
5/16 0 5 = 5 1

Ответ: 5EB

Читайте также: Проверяю стратегию Мартингейла на Python и показываю, почему она не работает

Чтобы перевести шестнадцатеричное число в десятичное, нужно каждую цифру с конца этого числа умножить на 16 в степени, соответствующей разряду этой цифры.

  • Пример:

    Переведем шестнадцатеричное число 5EB в десятеричную систему

    5EB = (5 × 16²) + (14 × 16¹) + (11 × 16⁰) = 1515

    Ответ: 1515

Преобразование из двоичной в шестнадцатеричную систему и обратно

Чтобы перевести двоичное число в шестнадцатеричное, нужно разделить его на группы по 4 цифры и заменить каждую группу на эквивалент из таблицы

  • Пример:

    Переведем двоичное число 1010000011111 в шестнадцатеричную систему

    Для этого разбиваем число на группу по 4 цифры: 0001 0100 0001 1111

    0001 = 1; 0100 = 4; 0001 = 1; 1111 = F

    Ответ: 141F

Чтобы сделать обратное преобразование, нужно просто каждую цифру шестнадцатеричного числа заменить на эквивалент по таблице

  • Пример:

    Переведем шестнадцатеричное число 141F в двоичную систему

    1= 0001; 4 = 0100; 1 = 0001; F = 1111

    Ответ: 1010000011111

Использование шестнадцатеричной системы

По большей части, шестнадцатеричные коды используются во многих областях вычислительной техники для сокращения двоичного кода до более понятной формы. Шестнадцатеричный код переводится в двоичный для использования на компьютере. Вот некоторые примеры использования шестнадцатеричного кода:

  • Ссылки на цвета в HTML и CSS
  • Язык ассемблера
  • Сообщения об ошибках

Цвета

буквы в шестнадцатеричной системе счисления

Hex система счисления может использоваться для представления цветов на сайтах и в программах редактирования изображений в формате #RRGGBB (# = показатель того, что число было записано в шестнадцатеричном формате, RR = красный, GG = зеленый, BB = синий). Этот система использует две шестнадцатеричных цифры для каждого цвета, например, #AA3300.

Как одна шестнадцатеричная цифра представляет 4 бита, так две шестнадцатеричные цифры вместе составляют 8 бит (1 байт). Значения для каждого цвета находятся в диапазоне от 00 до FF.  В двоичной системе, 00 — это 00000000, а FF — это 11111111. Это дает 256 возможных значений для каждого из трех цветов (256 красных х 256 зеленых х 256 синих), а в сумме это больше 16 миллион цветов.

  • #FF0000 будет самым чистым красным цветом — Максимум красного, 0 зеленого и 0 синего.
  • Черный это #000000 — ни красного, ни зеленого, ни синего.
  • Белый — это #FFFFFF — при смешении всех цветов.

Dillema

0 / 0 / 0

Регистрация: 03.04.2016

Сообщений: 11

1

Как найти в строке шестнадцатеричное число?

17.06.2016, 12:20. Показов 6035. Ответов 4

Метки си (Все метки)


Студворк — интернет-сервис помощи студентам

Упакованная строка, содержащая символьное представление шестнадцатеричных чисел.
//Все символы строки, кроме цифр, помещаются в последовательность в исходном виде.
//Последовательность цифр преобразуется в целую переменную, которая записывается в упакованную строку,
//предваренная символом .
//Конец строки — два подряд идущих символа . Пример:для шестнадцатеричных чисел.
//- исходная строка : «aa0x24FFbbb0xAA65»
//- упакованная строка : ‘a’ ‘a»’ 0x24FF ‘b’ ‘b’ ‘b’ » 0xAA65 » »

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#define LEN 11
void getData(char * str)
{
    printf("Введите последовательность(не более %d) буквенно-числовых символов:n", LEN - 1);
    fgets(str, LEN, stdin);
}
void strPack(char * str)
{
    char   packstr[256] = "";//строка для упаковки
    int    num = 0;
    while (1)
    {
        if (isalpha(*str))
        {
            num = 0;
            sprintf(packstr + strlen(packstr), "'%c'", *str);
        }
        else if //как сказать что следующие значения-шестнадцатеричное число и вывести его?
        }
        if (!*str++)
        {
            sprintf(packstr + strlen(packstr), "'\0''\0'");
            break;
        }
    }
    puts(packstr);
}
void main()
{
    setlocale(0, "RUS");
    char str[LEN];
    getData(str);
    strPack(str);
    system("Pause");
}



0



6044 / 2159 / 753

Регистрация: 10.12.2010

Сообщений: 6,005

Записей в блоге: 3

17.06.2016, 12:27

2

В вашем случае нужно просматривать от начала или до следующего . Затем проверять данные от и до на валидный 16-ричный формат. Только вы учтите, что это строковый нуль-терминатор и штатные функции обработки строк вам нужно будет применять

очень

грамотно.



0



Dillema

0 / 0 / 0

Регистрация: 03.04.2016

Сообщений: 11

21.06.2016, 18:43

 [ТС]

3

Сделала вот так…но это работает только для целых чисел,а как преобразовать 16-ое ума ни приложу…

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
void strPack(char * str, char *p)
{
    int i;
    int c = 0;
    for (i = 0; i < LEN; i++)
    {
        if (isalpha(*str))
        {
            sprintf(p + strlen(p), "'%c'", *str);
        }
        else if ((*str) == '0' && *(str + 1) == 'x' || *(str + 1) == 'Х')
        {
            for(i=0;i<6;i++)
            {
                c *= 10;
                c += *str++ - '0';
            }
            sprintf(p + strlen(p), "'\0'%d'\0'", c);
            str+=5;
        }
        if (!*str++)
        {
            sprintf(p + strlen(p), "'\0''\0'");
            break;
        }
    }
    puts(p);
}
 
void main()
{
    setlocale(0, "RUS");
    char str[LEN] = {"s0x24FFax"};
    char packstr[256] = "";
    char*p = packstr;
    //getData(srcstr);
    strPack(str, p);
    system("Pause");
}



0



Геомеханик

837 / 640 / 940

Регистрация: 26.06.2015

Сообщений: 1,409

21.06.2016, 21:53

4

Лучший ответ Сообщение было отмечено Dillema как решение

Решение

Цитата
Сообщение от Dillema
Посмотреть сообщение

а как преобразовать 16-ое ума ни приложу…

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <stdio.h>
 
int parse_hex(const char* s, unsigned int* h){
    const char*  p;
    unsigned int n;
    if((*s != '0') || ((*(s + 1) & 0xDF) != 'X'))
        return 0;
    
    for(n = 0, p = s + 2; *p; ++p){
        if(*p >= '0' && *p <= '9')
            n = (n << 4) | (unsigned int)(*p - '0');
        else if(*p >= 'A' && *p <= 'F')
            n = (n << 4) | (unsigned int)(*p - 'A' + 10);
        else
            break;
    }
 
    //проверка на переполнение
    if(((int)(p - s) - 2) > (int)(sizeof(n) << 1))
        return 0;
 
    *h = n;
    return (p != s + 2) ? (int)(p - s) : 0;
}
 
int main(void){
    int i;
    unsigned int n;
    const char*  p;
 
    char s[] = "0xDF, 0xABCDEF (0x12345678) 0x70D01-0xDDE. s0x24FFax i0xE";
 
    for(p = s; *p; ){
        i = parse_hex(p, &n);
        if(i > 0){
            printf("0x%Xn", n);
            p += i;
        } else
            ++p;
    }
    return 0;
}



1



0 / 0 / 0

Регистрация: 03.04.2016

Сообщений: 11

22.06.2016, 17:55

 [ТС]

5

Спасибо большое за помощь!!!



0



Шестнадцатеричный код

Общие сведения

Система счисления — метод символьного типа для записи чисел с помощью определенных знаков. Последние записываются посредством чисел и цифр. Однако не все понимают логического смысла последних терминов. Числом называется некоторая абстрактное значение, характеризующее количественные характеристики какой-либо величины, явления или процесса. Цифра является знаком, который необходим для записи числа.

Цифры бывают 2 видов: арабскими и римскими. Первые являются самыми распространенными. Они представлены знаковым интервалом от 0 до 9. Чисел больше, и поэтому используется набор цифр. Для этого и были придуманы системы исчисления. Они делятся на четыре группы:

Шестнадцатеричный код расшифровка

  1. Позиционные.
  2. Непозиционные.
  3. Смешанные.
  4. Унарные.

К первой группе относятся все разрядные системы, в которых положение и порядок знака играет важную роль. От этого зависит значение величины. Если изменить положение цифр, то число изменится.

Во втором случае простым примером является массив данных с параметром «ключ — значение». Например, массив ассоциативного типа состоит из 3 элементов: ‘login’ -> ‘Ivan10’, ‘pass’ -> ‘12345’ и ‘name’ -> ‘Иван’. В этом случае данные можно менять местами, поскольку логика сохранится.

Смешанной является система, в которой присутствуют данные позиционной и непозиционной групп.Простой пример — деньги. Существуют два типа денежных знаков: монеты и купюры. Например, техника стоит 5250 рублей 50 копеек.

Для получения данной суммы следует использовать некоторое количество купюр и монет: 5250,50 = (5000 + 200 + 50) рублей + 50 копеек.

Унарной называется единичная система с одной цифрой. Последняя может быть представлена в виде 1, черты, креста и любого целого значения. Иными словами, каждый знак соответствует 1. Например, запись «1111111» эквивалентна «|||||||». Если расшифровать ее, то получится число 7. В книге Даниэля Дефо «Робинзон Крузо» герой применял данную систему для подсчета дней, проведенных на острове. Детей обучают математике на начальном уровне с помощью счетных палочек. Если вспомнить историю, то древние люди тоже пользовались унарным счислением.

Позиционные системы в программировании

Наиболее востребованными в IT-сфере являются двоичный и шестнадцатеричный коды. Они применяются для перевода десятичной системы счисления, которая понятна человеку, в машинный язык. Двоичная состоит из двух переменных, которые принимают единичное (1) или нулевое (0) значения. Это очень просто реализовать в электронике и микросхемотехнике.

Шестнадцатеричный код использование

Микропроцессор персонального компьютера является микросхемой. Она состоит из множества транзисторов, способных кодировать 0 и 1. Схему соединения полупроводниковых приборов составляют так, чтобы они имели два состояния (открыт и закрыт). Кроме того, реализация двоичной системы может быть выполнена в любом устройстве, которое потребляет электрический ток. Наличие кодируется как 1, а отсутствие — 0.

Берутся также некоторые физические процессы: наличие света, сопротивления, намагниченности и так далее. С системой можно связать разные величины, которые имеют два состояния. Новичкам рекомендуется сначала полностью освоить перевод из десятичной системы счисления в двоичную и обратно. После этого следует приступить к изучению шестнадцатеричного кода, расшифровка которого существенно отличается.

Работа с двоичным кодом

Выполнять манипуляции с двоичным кодом достаточно просто. Для этого следует знать основные правила и методы конвертации десятичной системы в двоичную.

Для преобразования IT-специалисты предлагают 3 метода:

  • деление с отсечением остатка;
  • представление в виде степеней двойки;
  • автоматизированный.

Первый и второй способы используются на первоначальных этапах знакомства с системами. Они считаются ресурсоемкими, поскольку отнимают время. Последний реализуется с помощью специальных программ, поддерживающих конвертацию из одной системы в другую. Этим методом пользуются все программисты. В различных операционных системах есть приложения, работающие в таком режиме (например, калькулятор Windows).

Однако нужно подробнее разобрать первые два метода, поскольку задачи на конвертацию могут быть на экзаменах или контрольных.

Деление с отсечением остатка

Начинающему программисту необходимо обязательно знать алгоритм преобразования, и уметь применять его на практике. К

Шестнадцатеричный код для чего нужен

роме того, на экзаменах по дисциплинам с IT-уклоном может быть задача, в которой следует выполнить конвертацию из одной системы счисления в другую.

Перевод числа из десятичной в двоичную осуществляется по такому алгоритму:

  1. Записать число в десятичной форме и определить его четность.
  2. Воспользоваться правилом: для четных — 0, а для нечетных — 1.
  3. Выполнить деление на 2, записывая 0 или 1.
  4. Операцию осуществлять до последнего четного или нечетного числа.
  5. Записать результат.
  6. Проверить 5 шаг при помощи калькулятора.

Для наглядного примера стоит применить алгоритм на практике.

Для перевода числа 13 нужно выполнить следующие шаги:

Программирование

  1. Число 13 является нечетным.
  2. Первый элемент: 13 / 2 = 6 (остаток равен 1).
  3. Второй: 6 / 2 = 3 (0).
  4. Третий: 3 / 2 = 1 (1).
  5. Четвертый: остаток 1.
  6. Результат: [1011]{2}.
  7. При проверке результаты совпадают.

Нужно обратить внимание на форму записи в 6 пункте.

Таким способом правильно записывается число в системах счисления.

Можно применять также вместо {2} нижний индекс, указывающий искомую систему.

Последний пункт нужно выполнять постоянно, поскольку это поможет избежать проблем при расчетах.

Если ничего нет под рукой, то можно произвести возведение в степень. Это делается следующим образом: [1011]{2} = 2 3 + 0 + 2 1 + 2 0 = 8 + 0 + 2 + 1 = [13]{10}.

Степенной метод

Для реализации этого метода необходимо воспользоваться таблицей степеней двойки (табл. 1). Ее можно составить самостоятельно или скачать из интернета. Суть метода сводится также к вычислениям и подборам значений.

Показатель степени, n Результат возведения
0 1
1 2
2 4
3 8
4 16
5 32
6 64

Таблица 1. Степень двойки до 6 и ее значения.

Специалисты рекомендуют воспользоваться обыкновенным калькулятором, который разрешен на экзаменах или тестах. Кроме того, следует составить таблицу, поскольку это оптимизирует процесс вычислений. Для конвертации есть специальный алгоритм:

Перевод в шестнадцатеричный код

  1. Записать число.
  2. Определить интервал, в который оно входит.
  3. Найти максимальное значение степени, которое должно быть меньше искомого числа.
  4. Записать 1.
  5. Вычесть от числа в первом пункте значение, полученное в пункте 3.
  6. Повторить процедуру 5 шага до получения минимального значения.
  7. Записать число в двоичной системе.
  8. Выполнить проверку.

Для проверки рекомендуется воспользоваться специальным калькулятором или выполнить сложение всех значений степеней. Для примера можно рассмотреть конвертацию числа 118 в двоичный код. Операция выполняется таким образом:

  1. Число 118 превышает значение, указанное в таблице 1. Следовательно, ее нужно расширить, добавив 2 7 = 128.
  2. Для искомого числа выполняется неравенство 2 6 < 118 < 2 7 . Нужно брать величину 2 6 = 64.
  3. Первая цифра двоичного кода: 1. Остаток: 118 — 64 = 54.
  4. Вторая: 1. Остаток: 54 — 2 5 = 54 — 32 = 22.
  5. Третья: 1 (22 — 2 4 = 22 — 16 = 6).
  6. Четвертая: 0, поскольку 6 < 2 3 . Следовательно, берется другая степень.
  7. Пятая: 1 (6 — 2 2 = 6 — 4 = 2).
  8. Шестая: 1 (2 — 2 1 = 0).
  9. Седьмая: 0, поскольку остаток равен 0.
  10. Запись в двоичном коде: [1110110]{2}.

Чтобы проверить в ручном режиме, нужно произвести обратные вычисления: 2 6 + 2 5 + 2 4 + 0 + 2 2 + 2 1 + 0 = [118]{10}.

Шестнадцатеричный формат

Осуществить конвертацию из десятичного в шестнадцатеричный код (HEX — hexadecimal) можно только с использованием программ. Ручной метод основан на двойной конвертации. Для его реализации нужно перевести число, записанное в десятичной системе, в двоичный код, а затем в шестнадцатеричный.

 шестнадцатеричный код в текст

Основанием является целочисленное значение, равное 16. Система состоит из арабских цифр от 0 до 9, а также букв, обозначающих конкретные значения: А = 10, В = 11, С = 12, D = 13, Е = 14 и F = 15. В автоматизированном режиме можно воспользоваться переводчиком шестнадцатеричного кода.

Необходимо отметить, что HEX применяется также в низкоуровневом программировании. Выбор этой системы счисления основан на решении в компьютерной технике применять такую единицу информации, как байт (состоит из 8 битов). Его удобно записывать двумя HEX-цифрами (от 0 до 255, т. е. #00 до #FF). Кроме того, шестнадцатеричный код в текст также конвертируется. Примером этому является кодировка Юникод, в которой для записи символа применяются четыре HEX-цифры. Цвет RGB-формата графического изображения также записывается с его помощью.

Способы записи

Существует несколько форм записи числа, представленного в HEX. Математическая форма выглядит таким образом: [DF5]{16}. Можно также найти запись, в которой вместо {16} стоит нижний индекс. Она применяется в информатике.

Запись отличается в языках программирования, поскольку у каждого из них различный синтаксис и правила написания кода. Основные формы представления HEX следующие:

 шестнадцатеричный код переводчик

  • В С, С++ и похожих применяется префикс «0х».
  • В Ассемблере после числа ставится латинская буква «h».
  • В Pascal, Delfi, Basic используется символ «$».
  • В HTML и CSS — «#».
  • В Python — «0х».

Распространенная ошибка новичков заключается в том, что они неверно указывают HEX-числа. В результате компилятор языка выдает ошибку. Программисты рекомендуют основательно изучить синтаксис языка перед написанием приложений.

Алгоритм конвертации

Перевод в шестнадцатеричный код рекомендуется осуществлять с помощью специальных приложений (конвертеров кода). Если же их нет под рукой, то специалисты рекомендуют использовать специальный алгоритм:

Виды кодов в программировании

  1. Выполнить конвертацию десятичной формы записи в двоичную по любому алгоритму.
  2. Распределить знаки на тетрады (по 4 штуки или четверичные группы). Если в какой-то группе их количество меньше 4, то дописывается в начале 0.
  3. Записать значения для каждой тетрады.
  4. Проверить результат.

Операции умножения, сложения, вычитания и деления сложны.

Они осуществляются только с помощью специальных программ или онлайн-сервисов.

Не следует путать четверичные с троичными группами, которые используются в восьмеричном коде.

Например, нужно перевести 118 в HEX-код.

Для этого следует воспользоваться описанным алгоритмом:

  1. Степенной метод, описанный выше: [118]{10} = [1110110]{2}.
  2. Распределение символов на тетрады (в старшем разряде нужно дописать 0): 0111 0110.
  3. Первое значение: 0 + 2 2 + 2 1 + 2 0 = 0 + 4 + 2 + 1 = [7]{16}.
  4. Второе: 0 + 2 2 + 2 1 + 0 = [6]{16}.
  5. Результат: [76]{16}.

В некоторых случаях нужно использовать буквы. Например, для перевода числа [11110111]{2} в HEX-код нужно также воспользоваться алгоритмом, разбивая его на тетрады следующим образом: 1111 0111. Первая группа равна 2 3 + 2 2 + 2 1 + 2 0 = [15]{10} = F{16}, а вторая — 0 + 2 2 + 2 1 + 2 0 = 7. Результирующая запись имеет такой вид: [11110111]{2} = [F7]{16}.

Таким образом, HEX-код получил широкое применение в IT-сфере, поскольку он очень удобен для записи массивов информации. Однако для его конвертации в ручном режиме нужно изучить двоичную систему счисления, а также основные алгоритмы преобразования.


Download Article


Download Article

Hexadecimal notation (base sixteen) is used throughout the Web and computer systems to indicate values. One good example is the notation for color in HTML pages. Reading and using hexadecimal takes some practice, but the basic concept is no more difficult to understand than the ordinary decimal (base ten) system you’ve been using all your life.

  1. Image titled Understand Hexadecimal Step 1

    1

    Learn what hexadecimal is. Just like the

    decimal

    number system uses

    ten

    different symbols to denote values from Zero to Nine, the

    hexadecimal

    number system uses

    sixteen

    different symbols to denote values from Zero to Fifteen. Any number can be written in either system.[1]
    Here’s how to start counting in hexadecimal:

    • zero through fifteen: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
    • sixteen through thirty-two: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20
  2. Image titled Understand Hexadecimal Step 2

    2

    Learn how to write bases. The ten symbols used in the decimal number system form the base of the decimal number system.[2]
    Similarly, the sixteen symbols used in the hexadecimal number system form the base of the hexadecimal number system. Whenever it’s unclear which base is being used, subscript numbers are added to show the base. For example, 10010 is «100 in base 10» and 10016 is «100 in base 16» (which equals 25610).

    • Another term for «base» is «radix» (pluralized «radixes» or «radices»).

    Advertisement

  3. Image titled Understand Hexadecimal Step 3

    3

    Understand place values in decimal. We can understand long numbers written in base 10 without even pausing to think, but that’s only because we’ve had a lot of practice.[3]
    We know automatically that «583410» means 5×103 + 8×102 + 3×101 + 4×100. Each digit in a multi-digit number has its own place value. Here are the place values in decimal, from right to left:

    • 10010 = 1
    • 10110 = 1010
    • 102 = 10×10 = 100
    • 103 = 10x10x10 = 1000
    • 104 = 10x10x10x10 = 10000
    • 105 = 10x10x10x10x10 = 100000 & so on.
  4. Image titled Understand Hexadecimal Step 4

    4

    Learn the hexadecimal place values. Since hexadecimal is base sixteen, the place values are based on powers of sixteen, not powers of ten. Here are the powers of sixteen, written in decimal.[4]

    • 16010 = 1
    • 16110 = 1610
    • 162=16×16=256
    • 163=16x16x16=4096
    • 164=16x16x16x16=65536
    • 165=16x16x16x16x16=1048576 & so on.
    • If we write these in hexadecimal, these would instead be written as 1016, 100, 1000, etc.
  5. Image titled Understand Hexadecimal Step 5

    5

    Convert from hexadecimal to decimal. Converting between two bases is a good way to become familiar with how each system works. Here’s how to convert from any number in hexadecimal to the same number written in decimal:[5]

    • Write out your hexadecimal number: 15B3016
    • Write each digit out as a decimal multiplication problem, using the place value in the chart above: 15B30 = (1 x 6553610) + (5 x 409610) + (B x 25610) + (3 x 1610) + (0 x 1)
    • Convert non-decimal symbols into decimal numbers. In our example, B = 1110, so that digit can be converted to 1110 x 25610
    • Solve the problem. Use a calculator or work it out by hand, and you’ll get the answer in decimal. 15B30 = 65536 + 20480 + 2816 + 48 + 0 = 8888010
  6. Advertisement

  1. Image titled Understand Hexadecimal Step 6

    1

    Understand how colors on a computer screen are determined. All colors on a computer screen are determined by three values: red, green, and blue. All colors of light can be created by combining these three types of light in different proportions. On a computer screen, red, green, and blue can each be assigned any value from 0 to 255 (for a total of 256 possible values).[6]

    • This doesn’t match the «primary» colors you learned in school, because that color system is based on physical pigment (like paint), not light. The paint system is sometimes called «subtractive color system» and the light system (the RGB system described here) «additive.»
  2. Image titled Understand Hexadecimal Step 7

    2

    Learn why hexadecimal is used for colors. HTML uses hexadecimal to describe colors. This is convenient, since a two-digit hexadecimal number can communicate exactly 25610 possible values. This isn’t a coincidence; the number 25610 is due to limitations of old hardware, which could only handle 1000000002 colors, or 25610. Because 24 = 1610, any binary system can be easily converted to a hexadecimal system with ¼ as many digits.

    • The subscript numbers tell you which base the numbers is written in. Base2 is binary, base10 is ordinary decimal, and base16 is hexadecimal.
  3. Image titled Begin a Short Story Step 13

    3

    Understand how the system works. The hexadecimal color system is easy to understand, once you know how it works. The first two digits are the red value, the next two are the green value, and the last two are the blue value.[7]
    Here are some examples:

    • #FFFFFF is white, while #000000 is black.
    • Any color with equal r, g, and b values (besides black and white) is a shade of grey, such as #121212, #5A5A5A, or #C0C0C0
    • #003000 is a very dark green. #003F00 is barely any lighter (you’ve only added F, or 1610 green), but #00FF00 is the brightest possible green (adding an additional C0, or 19210).
    • More complex colors are created by using all three types of light. Try to guess #7FFFD4, #8A2BE2, or #A0522D.
  4. Advertisement

  1. Image titled Understand Hexadecimal Step 9

    1

    Teach yourself to read hexadecimal intuitively. Use the examples below as «milestones» to help you estimate the size of a hexadecimal number. This will give you a more intuitive understanding of hexadecimal, and let you read hexadecimal numbers without laboriously converting to decimal every time. As you’ll see, one advantage to hexadecimal is that the number of digits doesn’t increase nearly as fast as it does in decimal:

    • Humans have A fingers, or 1416 if you count the toes too. (Remember, the subscript 16 means a number is written in base sixteen.)
    • In a residential area, drive below 1916 miles per hour (or 2816 kilometers per hour).
    • A typical highway driving speed is 3C mph (or 6416 kph).
    • Water boils at D4 ºFahrenheit (6416 º Celsius).
    • The median U.S. income is roughly C350 dollars a year.
    • The population of the world is over 1A0,000,000.
  2. Image titled Understand Hexadecimal Step 10

    2

    Learn hexadecimal addition. You can do hexadecimal addition problems without ever converting to another system. It does take some mental effort and practice to remember the new rules. Here are a few methods and tips:[8]

    • Count up one by one, using hexadecimal digits. For instance to solve 7+5 in hex, count 7, 8, 9, A, B, C.
    • Learn the addition tables. A much faster method is to memorize the hexadecimal addition tables, which you can practice with an online quiz.[9]
      Once you know that A + 7 = 1116, you don’t have to laboriously count it out any more.
    • Carry the one when needed. If your addition gets you past F, you «carry the one» as you would in a normal addition problem. For example, A+5 = F, A+6 = 1016, A+7 = 1116, and so on. Similarly, 3A+6 = 4016, 3A+7 = 4116, etc.
  3. Image titled Understand Hexadecimal Step 11

    3

    Learn hexadecimal multiplication. Just like regular multiplication, the best way to become competent at hexadecimal multiplication is to memorize the multiplication tables. Here’s the hex «6 times table» as an example (all numbers are hexadecimal):[10]

    • 6 x 1 = 6
    • 6 x 2 = C
    • 6 x 3 = 12
    • 6 x 4 = 18
    • 6 x 5 = 1E
    • 6 x 6 = 24
    • 6 x 7 = 2A
    • 6 x 8 = 30
    • 6 x 9 = 36
    • 6 x A = 3C
    • 6 x B = 42
    • 6 x C = 48
    • 6 x D = 4E
    • 6 x E = 54
    • 6 x F = 5A
  4. Advertisement

Add New Question

  • Question

    How did this work in the movie The Martian as satellite communication?

    Community Answer

    ASCII was used; it is the American Standard Code for Information Interchange. For example, 6E was the lowercase letter «n» and 6F was the lowercase letter «o.» Combining these gives us 6E6F for «no.»

  • Question

    Convert the decimal number 64 to hexadecimal.

    Donagan

    It’s 40, which indicates 4 sixteens and zero ones.

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

  • Any binary number can be easily represented in hexadecimal. Divide the binary number into four-digit sections (adding initial 0s if necessary), then replace each section with the equivalent hexadecimal digit. For example, 00002 = 016, 00012 = 116… all the way up to 11112 = F16.[11]

  • Computers actually use the «complement» method to add and subtract numbers (in hexadecimal or any other base), not the «carrying» method we’re used to. The complement method is not a very useful method for humans, but if you program calculating software, you should learn it to make your program more efficient.

Thanks for submitting a tip for review!

Advertisement

Video

References

About This Article

Article SummaryX

To understand hexadecimal, first learn that in this number system there are 16 different symbols used to denote values from 0 to 15. The 16 symbols used in the hexadecimal number system form the base. Since hexadecimal is based on 16, the place values are based on powers of 16. To convert from hexadecimal to decimal, write out the hexadecimal number, convert non-decimal symbols into decimal numbers, and solve the problem. To learn how to understand the hexadecimal color system, keep reading!

Did this summary help you?

Thanks to all authors for creating a page that has been read 278,082 times.

Did this article help you?

Шестнадцатеричные числа

Шестнадцатеричные
числа в основании системы счисления
имеют 16 символов, это числа от 0 до 9 и
буквы английского алфавита от А до F:

16-ричное

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10-ричное

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Шестнадцатеричные
числа всегда используются при отображении
адресов и ссылок на память. Большие
значения также можно выразить с помощью
шестнадцатеричных чисел, используя
всего несколько цифр, причем эти цифры
легко преобразовать в двоичные значения.
Шестнадцатеричные значения используются
при написании программ для MASM
и TASM.
Для выделения шестнадцатеричных чисел
используется буква «h»
в конце числа. Например, 45h
является шестнадцатеричным числом,
тогда как 45 – десятичным.

Преобразование
двоичных чисел в шестнадцатеричные

В
таблице 2 показано соответствие двоичных
чисел шестнадцатеричным цифрам. Большое
двоичное число можно легко выразить с
помощью шестнадцатеричных цифр.

Таблица
2. Соответствие двоичных и шестнадцатеричных
чисел

Двоичное

Шестнадцетеричное

Двоичное

Шестнадцетеричное

0000

0

1000

8

0001

1

1001

9

0010

2

1010

A

0011

3

1011

B

0100

4

1100

C

0101

5

1101

D

0110

6

1110

E

0111

7

1111

F

Например,
двоичное число 10101011100101111000011011100101 может
быть легко представлено шестнадцатеричным
значением АВ9786Е5:

А

В

9

7

8

6

Е

5

1010

1011

1001

0111

1000

0110

1110

0101

Преобразовывать
шестнадцатеричное число в двоичное
также очень легко, поскольку существует
взаимно-однозначное соответствие между
шестнадцатеричной цифрой и четырьмя
двоичными разрядами. Например:

8А2640=

1000

1010

0010

0110

0100

0000

8

А

2

6

4

0

Несколько
примеров:

0AF6h
= 0000101011110110

D58Ch
= 1101010110001100

F13Bh
= 1111000100111011

Преобразование
шестнадцатеричныx чисел в десятичные

Каждая
позиция цифры в шестнадцатеричном числе
соответствует степени числа 16. Например:

24C2h
= 2*163+4*162+12*161+2*160
= 8192+1024+192+2 = 9410

Преобразование
десятичных чисел в шестнадцатеричные

Последовательное
деление на 16
.
Необходимо осуществить первое деление,
после чего необходимо с полученным
частным снова произвести деление, а
полученный результат снова разделить
на 16 и т. д. Остаток от каждого деления
будет очередной шестнадцатеричной
цифрой. Пример:

Десятичное
число 12 268:

15
268 / 16 = 954, остаток 4

954
/ 16 = 59, остаток 10 (А)

59
/ 16 = 3, остаток 11 (В)

3
/ 16 = 0, остаток 3

——————————————————

Шестнадцетеричное: 3ВА4

Числа
со знаком

Двоичные
числа могут быть как со знаком (signed),
так и без знака (unsigned).
Числа без знака используют все восемь
битов для получения значения. Например,
11111111=255. Проссумировав значения всех
битов, получим максимально возможное
значение, которое может хранить байт
без знака (255). Для слова без знака это
значение будет составулять 65 535.

Соседние файлы в папке Sys_Programming

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Как составить трудовой договор шаблон
  • Как найти вторую жену мусульманку в дагестане
  • Как найти культиста лунатика в террарии
  • Как составить бизнес план ателье по ремонту одежды
  • Как найти в телефоне обновление телефона по