|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
01.01.2009, 08:50 | #1 |
Заблокирован
Регистрация: 21.11.2008
Сообщений: 4,986
|
Шестнадцатиричные числа
Пожалуйста помогите мне Разобраться с переводом шестнадцатиричного числа в десятиричное . Разобрать хотя бы 1000(десятиричное число) . А то не могу понять принцип перевода .
|
01.01.2009, 11:41 | #2 |
Новичок
Джуниор
Регистрация: 01.01.2009
Сообщений: 2
|
Сначала посоветую разобраться с принципом шестнадцатиричного счета, затем станет понятен принцип перевода
Считаешь грязью - пользуйтеся мылом: 1 способ - пиши, 2 еще нужна верёвка
|
01.01.2009, 22:29 | #3 |
Заблокирован
Регистрация: 21.11.2008
Сообщений: 4,986
|
Что ты считаешь принципом ? Если то как обозначается шестнадцатиричное число то это мне и так ясно ! Дело в том что в шестнадцатиричном числе используются помимо цифр еще и буквы , например я пробовал разобрать , скажем , такой пример : 1000 в шестнадцатиричном формате выглядит так 3Е8 , если пробовать разобрать этот пример то получается 4000 с копейками но не как не тысяча !
Последний раз редактировалось vasek123; 01.01.2009 в 22:36. |
02.01.2009, 01:59 | #4 |
Пользователь
Регистрация: 02.01.2009
Сообщений: 12
|
уберите подпись, уже пол форума валяется
пc 3 * 16 ^ 2 + E * 16 ^ 1 + 8 * 16 ^ 0
define1232(а)mail.ru
|
02.01.2009, 07:27 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
mello, +1
я немножко разжую. для "хакера"... ;-) Цитата:
Поэтому Ваш пример: 0x3E8 (справа налево, в порядке возрастания степени основания): 8*1 (16 (основание системы счисления) в степени 0) 14*16 (16 в степени 1) 3*256 (16 в степени 2) получаем: 768 + 224 + 8 p.s. читайте книжки... пригодится... |
|
02.01.2009, 10:55 | #6 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 77
|
Код:
Последний раз редактировалось Stilet; 06.05.2009 в 09:28. |
02.01.2009, 20:14 | #7 |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
Допустим нам нужно перевести число 567 десятеричной
системы в двоичную систему. Делается это следующим об- разом: отыскивается максимальная степень двойки, чтобы два в этой степени было меньше или равно исходному числу. В нашем случае это 9, т.к. 2^9=512, а 2^10=1024 что больше нашего начального числа. Таким образом мы получили число разрядов результата. Оно равно 9+1=10. Значит результат будет иметь вид 1ххххххххх, где вместо х может стоять 1 или 0. Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 567-2^9=55. Затем сравниваем с числом 2^8=256. Так как 55 меньше 256 то девятый разряд будет нулем, т.е. результат уже примет вид 10хххххххх. Рассмотрим восьмой разряд: 2^7=128 > 55, значит и восьмой разряд будет нулем. Т.к. 2^6=64 то седьмой разряд равен нулю. Таким образом мы получили четыре старших разряда и число примет вид 1000хххххх. Вычисляем 2^5=32 и видим, что 32 < 55, значит шестой разряд равен 1 (результат 10001ххххх), остаток 55-32=23. 2^4=16 < 23 - пятый раз- ряд 1 => 100011хххх. Остаток 23-16=7. 2^3=8 > 7 => 1000110ххх. 2^2=4 < 7 => 10001101хх, остаток 3. 2^1=2 < 3 => 100011011х, остаток 1. 2^0=1 = 1 => 1000110111. Мы получили конечный результат. Теперь попробуем перевести тоже число 567, но уже в шестнадцатиричную систему. Подход примерно такой же. Определим максимальный разряд. Т.к. 16^2=256 < 567, а 16^3=4096 > 567, то максимальный разряд 2+1=3. Опреде- лим число, которое будет стоять в третьем разряде. Ищется максимальный множитель в пределах от 1 до 15, чтобы текущая степень шестнадцати умноженная на этот множитель была меньше или равнялась исходному числу (а в дальнейшем - остатку). В нашем примере этот множитель 2, т.к. 256*2=512 < 567, а 256*3=768 > 567. Значит старший разряд нашего результата будет равен 22 0, и ре- зультат примет вид 2хх, где вместо х могут стоять любые цифры или буквы из ниже перечисленных: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Вычисляем остаток: 567-2*16^2=55. Определим что будет стоять во втором разряде. Так как 3*16^1=48 < 55, а 4*16^1=64 > 55, то во втором разряде будет стоять цифра 23 0. Оста- ток=55-3*16^1=7. Определяем первый разряд: т.к. 16^0=1 то цифра первого разряда равна остатку, т.е. 27 0. Таким образом мы получили число 2237 0, но уже в шестнадцатирич- ной системе исчисления. Операция перевода из десятеричной системы выглядит гораздо проще. Рассмотрим ее на примере перевода из шестнадцатиричной системы в десятеричную. Допустим нам нужно перевести число 24A3F 0в десятерич- ную систему. Берем старший (4 ый) разряд и возводим 16 в степень 4-1=3, получаем 16^3=4096. Полученный резуль- тат умножаем на значение четвертого разряда, т.е. 4. Получается 4096*4=16384. Этот результат мы заносим в сумму. Переходим к следующему разряду: 16^2=256. 256 нужно умножить на значение третьего разряда т.е. A. Как известно в шестнадцатиричной системе исчисления буквы от A до F символизируют числа от 10 до 15 ( A=10, B=11, C=12, D=13, E=14, F=15). Умножив 256 на 10 получим 2560 и этот результат добавляем к сумме, в которой у нас по- ка было 16384. В сумму у нас получилось 18944. Перехо- дим ко второму разряду: 3*16^1=48, добавив это в сумму получим 18992. И последний разряд: 15*16^0=15. Конечная сумма равна 219007 0. Мы получили результат в десятеричной системе исчисления.
вступлю в команду разработчиков ПО на Delphi
|
08.01.2009, 00:58 | #8 | |
Заблокирован
Регистрация: 21.11.2008
Сообщений: 4,986
|
для надсмехающихся надо мной
Цитата:
1. простенькая задачка на языке С++ с преднамеренно допущенными ошибками- Код:
Код:
Думаю вам этого будет достаточно (хотя мог бы и озадачить вопросом по практике применения снипера или чем нибудь еще !). Последний раз редактировалось Stilet; 06.05.2009 в 09:28. |
|
08.01.2009, 01:45 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
в чём заключаются собственно задачи 1 и 2 не понял...
видимо, это доступно только "хакерам"... а мне — нет.. vasek123, Вы бы для начала выучили, как пишется слово Assembler.... Цитата:
так и должно было быть?! :D ___________________________________ __________________ vasek123, поймите, станете Вы хакером или нет - зависит только от Вас.... и все тут присутствующим на форуме, по большому счёту, это не так уж и важно... Лишь бы Вы хорошо учились! Удачи! |
|
08.01.2009, 02:17 | #10 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
...и слово «...теричный» (там е!)
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Даны натуральные числа n,p, целые числа a1 , ... ,an. | Наталья111 | Фриланс | 10 | 09.11.2010 20:09 |
Числа Мерссена | Иллидан | Свободное общение | 3 | 17.04.2009 13:59 |
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. | лялька | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 25.12.2008 15:22 |
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа | Woland-itn | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 23.03.2008 21:49 |
длинные числа | molodzo | Общие вопросы C/C++ | 4 | 21.02.2008 12:46 |