Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Программирование Все вопросы по написанию программ |
|
Опции темы |
27.05.2007, 21:05 | #1 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
Двоичные преобразования
В ходе написания программы на АСМЕ возникла вот такаяпроблема преобразования:
Допустим у нас есть 8-битный регистр в нем сидит число 01100101, в десятиричной системе это число 106, надо выполнить преобразование числа 01100101 в двоично - десятичный код...тоесть берем 3 регистра 1 - хранит единицы 2 - десятки 3 - сотни а после преобразования у нас 1 регистр должен хранить - 00000110 - 6 2 реистр - 00000000 - 0 3 регистр - 00000001 - 1 собсно каков алгоритм преобразования?
__________________
Какая разница из какого места растут руки, если они золотые. |
|
27.05.2007, 21:16 | #2 (Ссылка на пост) |
забанен
Мой дневник
Пол:
|
не до конца понимаю о чём речь, но попробую помочь
первое что пришло на ум: 1 - преобразовываеш бин число в десятичное 2 - 106 - от каждого числа откусываеш последнюю цифру (челочисленое делени на 10 - дробная часть) |
|
27.05.2007, 21:25 | #3 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
нет пин, нет ... вот это настояшее программирование
число в двочной системе недо порубить на декады и положить каждую дкаду в свой регистр...положить я смогу, как порубить ненаю :(
__________________
Какая разница из какого места растут руки, если они золотые. |
|
27.05.2007, 22:42 | #4 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
Ну че??? и на этом все? господа програмеры не позоримся)
__________________
Какая разница из какого места растут руки, если они золотые. |
|
27.05.2007, 23:37 | #5 (Ссылка на пост) |
забанен
Мой дневник
Пол:
|
имхо - реалтаймово ты никак не сделаеш.
да и наиболее оптимален тот алгоритм что я сказал - иначе натяжело будет - т.к. число звисит от каждого бита и тебе всёравно придётся преобразовывать в десятичное чтобы вырезать цифру |
|
28.05.2007, 00:35 | #6 (Ссылка на пост) | ||||||||
Задержался
Благодарил(а): 30
Благодарили 31 раз в 14 постах
Галерея:
0
Вес репутации: 19
|
Ну а что тебе собственно мешает разложить на декады в двоичной системе?
дели число сначала на 1100100 - получишь сотни сразу в двоичной системе; затем остаток дели на 1010 - получишь десятки; и на конец последний остаток он и есть единицы. PS 106 - это вообщето 1101010 Последний раз редактировалось destiny, 28.05.2007 в 09:20. |
||||||||
|
28.05.2007, 10:19 | #7 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
а если есть операции сложения, вычитания, побитного сдвига? операций цмножения и деления нет :( так я бы и сам...
__________________
Какая разница из какого места растут руки, если они золотые. |
|
28.05.2007, 11:00 | #8 (Ссылка на пост) | ||||||||
Что-то высматривает
Пол:
Благодарил(а): 0
Благодарили 139 раз в 80 постах
Галерея:
0
Вес репутации: 18
|
>а если есть операции сложения, вычитания, побитного сдвига?
дык вот и юзай побитный сдвиг
__________________
"...is nothing to the pain I can cause in your own mind" (Dargent Peytraud © The Serpent and the Rainbow) "What's the matter, kid? Don't ya like clowns?...Why? Don't we make ya laugh? Aren't we fuckin' funny? You best come up with an answer, cos I'm gonna come back here and check on you and your momma and if you ain't got a reason why you hate clowns, I'm gonna kill your whole fucking family" (Captain J.T. Spaulding © The Devil's Reject) |
||||||||
|
28.05.2007, 23:35 | #9 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
КАК РАБОТАЕТ, Я НЕЗНАЮ, НО РАБОТАЕТ...
HEX_TO_DEC CLRF HUNDERS SWAPF BIN,W ADDWF BIN,W ANDLW B'00001111' SKPNDC ADDLW 0x16 SKPNDC ADDLW 0x16 ADDLW 0x16 SKPNDC ADDLW -0x16 BTFSC BIN,4 ADDLW 0x16 - 1 + 0x6 SKPNDC ADDLW -0x16 BTFSC BIN,5 ADDLW 0x30 BTFSC BIN,6 ADDLW 0x60 BTFSC BIN,7 ADDLW 0x20 ADDLW 0x60 RLF HUNDERS, F BTFSS HUNDERS, 0 ADDLW -0x60 MOVWF TENS_ADN_ONES BTFSC BIN,7 INCF HUNNDERS, F RETURN
__________________
Какая разница из какого места растут руки, если они золотые. |
|
29.05.2007, 22:53 | #10 (Ссылка на пост) | |||||||||
Местные мы
Пол:
Благодарил(а): 32
Благодарили 113 раз в 88 постах
Галерея:
0
Вес репутации: 20
|
Цитата:
юзай сразу упакованую систему мл.декада.рег1= сотни, ст.декада.рег2=десятки, мл.декада.рег2=ед. по пикам я не смогу помочь! но мой алгоритм таков: - число копируешь в перменную и отнимаешь от неё 100(дес)или 0х64, проверяешь остаток, елси есть увеличиваешь сотни на 1 и отнимаешь ешо раз, проверяешь остаток если есть увеличиваешь сотни на 1 - далее отнимаеш сотни раз 100 или 0х64 от числа. -... и так с 10 или 0х0А и с 1 или 0х1...... З.Ы. 1100101 бин это 101 дес ) Последний раз редактировалось Aurum, 29.05.2007 в 23:21. |
|||||||||
|