2

Как мне преобразовать этот шестнадцатеричный адрес в десятичный адрес?

0*FFFF0000

4 ответа4

5

Используйте калькулятор Windows для преобразования из шестнадцатеричного в десятичное:

Выберите пункт "Программист" в меню "Вид":

Убедитесь, что вы вводите номер, когда калькулятор находится в режиме "Hex". После ввода номера переключитесь в режим "Десятичный". И у вас есть ответ ...

5

Каждый заполнитель стоит того, на что установлена база. В десятичном виде это 10. Так что число 123 например:

  • Имеет «1» в 100 месте, что стоит 100
  • Имеет «2» в 10 месте, что стоит 20
  • Имеет «3» в 1 месте, что стоит 3

Та же идея применима к основанию 16 (например, шестнадцатеричное - шестнадцатеричное значение 6 и десятичное значение 10-16). Каждый заполнитель идет до 16. Поскольку мы привыкли только к 10 цифрам, мы подставляем буквы от 11 до 15. В шестнадцатеричном формате один заполнитель может иметь значения от 0 до 15.

Decimal:     0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Hexadecimal: 0 1 2 3 4 5 6 7 8 9 A  B  C  D  E  F  10 11 12 13 14

0* означает, что это база 16 (хотя я впервые это вижу). Еще одна популярная запись ix 0x .

Для вашего примера есть 8 мест. FFFF0000 означает:

(15 * 16^7) + (15 * 16^6) + (15 * 16^5) + (15 * 16^4) + (0 * 16^3) + (0 * 16^2) + (0 * 16^1) + (0 * 16^0) = 4,294,901,760 = 0*FFFF0000

Звучит сложно, правда? На самом деле это не так. То же самое делается с десятичной дробью:

(4 * 10^9) + (2 * 10^8) + (9 * 10^7) + (4 * 10^6) + (9 * 10^5) + (0 * 10^4) + (1 * 10^3) + (7 * 10^2) + (6 * 10^1) + (0 * 10^0) = 4,294,901,760 = 0*FFFF0000

Страница Википедии о шестнадцатеричном более подробно.

Ваш вопрос помечен IP, так что используется десятичная запись с точками - намного проще, чем это. Обычно это выражается в 255.255.255.255. Самое замечательное в шестнадцатеричном коде состоит в том, что он может представлять это очень легко, так как FF равен 255. Ваш адрес переводится как 255.255.0.0, а затем в пунктирной шестнадцатеричной записи (есть ли такая вещь?) это FF.FF.00.00.

4

0 * FFFF0000

Как насчет того, чтобы сделать это вручную? ;)

0x16^0 + 0x16^1 + 0x16^2 + 0x16^3 + 15x16^4 + 15x16^5 + 15x16^6 + 15x16^7 =
0x1 + 0x16 + 0x256 + 0x4096 + 15x65536 + 15x1048576 + 15x16777216 + 15x268435456 =
0 + 0 + 0 + 0 + 983040 + 15728640 + 251658240 + 4026531840 =
4294901760

Как вы спросили, как преобразовать шестнадцатеричное в двоичное, и наоборот, вот ответ:

Шестнадцатеричный бинарный код и наоборот довольно прост. Просто преобразуйте каждый символ шестнадцатеричной строки в 4-битное двоичное значение:

0: 0000
1: 0001
2: 0010
3: 0011
4: 0100
5: 0101
6: 0110
7: 0111
8: 1000
9: 1001
A: 1010
B: 1011
C: 1100
D: 1101
E: 1110
F: 1111

Итак, 0xFFFF0000 это:

   F    F    F    F    0    0    0    0
1111 1111 1111 1111 0000 0000 0000 0000

еще один пример 0x0FA10021:

   0    F    A    1    0    0    2    1
0000 1111 1010 0001 0000 0000 0010 0001
0

4294901760 (минус 0 *)

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .