![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 12
|
![]()
Здравствуйте. Приведите, пожалуйста, пример исходника на асме, как строчное (символьное) представление числа перевести в действительное число, чтоб можно было совершать над ним действия, а потом опять перевести в строчное. Если можно, асм под ДОС.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 12
|
![]()
я извиняюсь, я имел ввиду по ДОС.
![]() или подскажите, вот чтобы перевести строчное в численное, нужно от строчного отнять 48? А наоборот, чтоб получить из численного строчное, нужно прибавить 48? |
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Если ты кодиш на MASM то можеш вызывать dwtoa. Она как раз это и делает.
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 12
|
![]()
Stilet, посмотрел. Понял как сделать. Действительно, нужно отнимать и прибавлять 48, или символ '0', который кадируется как 048 или 30h. Это я посмотрел в реализации dwtoa. Правда, сам алгоритм пока не понял, уж больно он "накручен" и по моему, в нем есть лишние строки
![]() |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Хм. Вот у меня завалялась старая лаба, перевода чисел до 100 на асме в строку.
Код:
Пардон, я тут точнее вспомнил и слегка поменял код )
I'm learning to live...
Последний раз редактировалось Stilet; 04.03.2008 в 12:55. |
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 02.10.2009
Сообщений: 15
|
![]() Цитата:
если отнять 30h, мы получаем численное значение - в какой системе счисления? |
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Rikki-Tikki
ASCII кодировка цифр '0' = 30h, '1' = 31h, '2'= 32h, ..., '9'=39h отнимаешь от символа 30h и получаешь его числовое значение; в двоичной системе счисления есть только символы '0' и '1', а '3', '4', ..., '9' нет; в восмеричной есть символы от '0' до '7', а '8' и '9' нет; в шестнадцатеричной к символам от '0' до '9' добавляются символы 'A'=41h, 'B'=42h, 'C'=43h, 'D'=44h, 'E'=45h, 'F'=46h от этих символов нужно отнимать уже 37h или 57h если они будут записаны маленькими буквами 'a'=61h, ..., 'f'=66h Последний раз редактировалось Mikl___; 21.05.2010 в 13:44. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]() Код:
Код:
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
alexcoder
Вот это перл! Код:
![]() ax:= dx*2 + ax; dx:=dx*8; dx:=dx*8+dx*2+ax Какой у Вас право изощренный ум! Я в шоке! эквивалентно: lea eax=[eax+edx*2] lea edx=[eax+edx*8] "Классический" вариант Код:
Последний раз редактировалось Mikl___; 21.05.2010 в 15:22. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пребразовать string-строку в число и обратно. - Как? | Avaj | C++ Builder | 16 | 03.02.2011 19:03 |
Как убрать перевод строки? | Biowulf86 | Помощь студентам | 2 | 25.03.2008 11:05 |
Перевод строки в функцию | кетчуп | Помощь студентам | 6 | 23.11.2007 17:04 |
Извлечь число из строки и присвоить его переменной. | Adamant | Общие вопросы C/C++ | 3 | 12.11.2007 07:24 |
Перевод строки в матрицу | Chepa | Общие вопросы Delphi | 14 | 28.01.2007 00:13 |