Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
Добрый вечер! Оказывается всё просто,с переводом числа.А может кто столкивался:этот код(сегментный) закинуть на LCD,каким это образом будет выглядеть.Для LCD может переводить не надо ,сразу выводить по разрядам.
Добрый вечер! Оказывается всё просто,с переводом числа.А может кто столкивался:этот код(сегментный) закинуть на LCD,каким это образом будет выглядеть.Для LCD может переводить не надо ,сразу выводить по разрядам.
|
|
|
 |
Добавлено: 26 июн 2014, 20:07 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
$9*$10=$90 $9*$100=$900 $900+$90+$9=$999
Это то самое место где вы додумываете себе проблему, запутываетесь и мучаете других. Умножать нужно Шестнадцатеричную 9-ку на ДЕСЯТИЧНОЕ число 1, 10 и 100 соответственно. Иными словами правильный алгоритм должен Digit0 раз сложить 100 с собой, потом Digit1 раз сложить 10 с собой, и потом сложить Digit0, Digit1 и Digit2 вместе. В аккурат получиться то что нужно и в шестнадцатеричном формате.
Если и так не понятно, то Вам уже врядли что поможет. И пожалуйста читайте внимательней то что вам пишут.
Вложения: |

tohex.png [ 4.79 КБ | Просмотров: 6418 ]
|
[b]$9*$10=$90 $9*$100=$900 $900+$90+$9=$999[/b]
Это то самое место где вы додумываете себе проблему, запутываетесь и мучаете других. Умножать нужно Шестнадцатеричную 9-ку на ДЕСЯТИЧНОЕ число 1, 10 и 100 соответственно. Иными словами правильный алгоритм должен Digit0 раз сложить 100 с собой, потом Digit1 раз сложить 10 с собой, и потом сложить Digit0, Digit1 и Digit2 вместе. В аккурат получиться то что нужно и в шестнадцатеричном формате.
Если и так не понятно, то Вам уже врядли что поможет. И пожалуйста читайте внимательней то что вам пишут.
|
|
|
 |
Добавлено: 24 апр 2012, 22:51 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
Все! Спасибочки! Теперь вьехал.... Все сходиться, действительно все просто!!! $9*$64=$384 $9*$A=$5A $384+$5a+$9=$3E7 !!!! Kolini: Вам тоже огромное спасибо! В АВ я смогу написать этот алгоритм самостятельно.
Все! Спасибочки! Теперь вьехал.... Все сходиться, действительно все просто!!! $9*$64=$384 $9*$A=$5A $384+$5a+$9=$3E7 !!!! [b]Kolini:[/b] Вам тоже огромное спасибо! В АВ я смогу написать этот алгоритм самостятельно.
|
|
|
 |
Добавлено: 24 апр 2012, 21:48 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
[quote="xfly"]Это я выше написал, просто почемуто автоматически не прошла регистрация, а я не заметил этого. Я не напутал, просто действительно неправильно выразился, исправил.[/quote] Последний раз пишу Вам, Вы путаете, когда Вы h9*h10 это означает что Вы умножили d9 на d16, а Вам нужно умножать $9*d10=h5A=d90. Пользуйтесь калькулятором внимательно.
|
|
|
 |
Добавлено: 24 апр 2012, 21:18 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
Это я выше написал, просто почемуто автоматически не прошла регистрация, а я не заметил этого. Я не напутал, просто действительно неправильно выразился, исправил.
Это я выше написал, просто почемуто автоматически не прошла регистрация, а я не заметил этого. Я не напутал, просто действительно неправильно выразился, исправил.
|
|
|
 |
Добавлено: 24 апр 2012, 20:42 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
Ничего я не напутал... Берем калькулятор и переключаем его в режим НЕХ. Digit0=$9 Digit1=&9 Digit2=$9
$9*$10=$90 $9*$100=$900 $900+$90+$9=$999
Но это &999 в НЕХ, переводим его в десятичное $999 = 2457, что не есть гуд. Эта формула не переводит из одной системы в другую, просто из трех разных ячеек, размером байт каждая, она упаковавает эти данные в одну переменную типа WORD. Подпрограмма, которую я привел выше, получает данные в спаренном регистре Z, допустим это будет число $3E7. На выходе мы имеем: Digit0=&9 Digit1=$9 Digit2=&9 Что эквивалентно десятичному значению шестнадцатеричного $3E7. Мне нужно как раз обратный процесс, с клавиатуры я ввожу десятичные числа, потому, что обычные люди привыкли пользоваться именно этой системой, а в счетчик надо поместить НЕХ, чтобы он посчитал именно $3E7 раз или 999 раз, а не $999 раз или 2457 раз.
Ничего я не напутал... Берем калькулятор и переключаем его в режим НЕХ. Digit0=$9 Digit1=&9 Digit2=$9
$9*$10=$90 $9*$100=$900 $900+$90+$9=$999
Но это &999 в НЕХ, переводим его в десятичное $999 = 2457, что не есть гуд. Эта формула не переводит из одной системы в другую, просто из трех разных ячеек, размером байт каждая, она упаковавает эти данные в одну переменную типа WORD. Подпрограмма, которую я привел выше, получает данные в спаренном регистре Z, допустим это будет число $3E7. На выходе мы имеем: Digit0=&9 Digit1=$9 Digit2=&9 Что эквивалентно десятичному значению шестнадцатеричного $3E7. Мне нужно как раз обратный процесс, с клавиатуры я ввожу десятичные числа, потому, что обычные люди привыкли пользоваться именно этой системой, а в счетчик надо поместить НЕХ, чтобы он посчитал именно $3E7 раз или 999 раз, а не $999 раз или 2457 раз.
|
|
|
 |
Добавлено: 24 апр 2012, 20:28 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
[quote="xfly"]Спасибо! Но, это не в точности до наоборот, результатом будет в регистровой паре (WORD) десятичное значение, т.е 999, а нужно в НЕХ, т.е. $3E7.[/quote] Вот Вы себя и запутали, в регистровой паре после этой операции Digit2+Digit1*10+Digit0*100 будет лежать #b0000001111100111, это по Вашему сколько в НЕХ, Вши 3Е7, или у Вас не так. ;)
|
|
|
 |
Добавлено: 24 апр 2012, 17:38 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
Спасибо! Но, это не в точности до наоборот, результатом будет в регистровой паре (WORD) HEX значение, т.е $999, а нужно в НЕХ, т.е. $3E7.
Спасибо! Но, это не в точности до наоборот, результатом будет в регистровой паре (WORD) HEX значение, т.е $999, а нужно в НЕХ, т.е. $3E7.
|
|
|
 |
Добавлено: 24 апр 2012, 13:50 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
Часть цитаты от xfly Задача выполнить преобразование в точности до наоборот. Из трех ячеек содержащих десятичные значения, получить в рег. паре шестнадцатеричное.
Это не задача перевода чисел из одной системы счисления в другую. И решается элементарно. Digit2+Digit1*10+Digit0*100. Такой алгоритм сможете написать самостоятельно прокрутив в циклах операцию сложения?
Только примите во внимание тот факт, что результат этого сложения обязательно должен будет писаться в двойной регистр формата Word. Удачи.
[b]Часть цитаты от xfly Задача выполнить преобразование в точности до наоборот. Из трех ячеек содержащих десятичные значения, получить в рег. паре шестнадцатеричное.[/b]
Это не задача перевода чисел из одной системы счисления в другую. И решается элементарно. Digit2+Digit1*10+Digit0*100. Такой алгоритм сможете написать самостоятельно прокрутив в циклах операцию сложения?
Только примите во внимание тот факт, что результат этого сложения обязательно должен будет писаться в двойной регистр формата Word. Удачи.
|
|
|
 |
Добавлено: 24 апр 2012, 08:48 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Преобразование десятичных чисел в шеснадцатеричные. |
Цитата |
|
[quote="SVN"][quote="Kolini"]
ИТОГО 999 в двоичной системе это #b1110011111 или в шестнадцатеричной #h39F[/quote] Перепутали: 999 = 3Е7= 1111100111.[/quote]
Ок. Спасибо. Я действительно "не с той стороны" сложил двоичное число.
|
|
|
 |
Добавлено: 24 апр 2012, 08:37 |
|
|
 |
|