Как мне преобразовать этот шестнадцатеричный адрес в десятичный адрес?
0*FFFF0000
Используйте калькулятор Windows для преобразования из шестнадцатеричного в десятичное:
Выберите пункт "Программист" в меню "Вид":
Убедитесь, что вы вводите номер, когда калькулятор находится в режиме "Hex". После ввода номера переключитесь в режим "Десятичный". И у вас есть ответ ...
Каждый заполнитель стоит того, на что установлена база. В десятичном виде это 10. Так что число 123 например:
Та же идея применима к основанию 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.
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
4294901760 (минус 0 *)
Используйте метод TFM или онлайн- калькулятор, хотя реальные программисты делают это в своей голове. Хорошо, что последние части ложь, но по крайней мере мы утверждаем, что.