|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.03.2008, 00:22 | #1 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 12
|
Перевод из строки в число и обратно
Здравствуйте. Приведите, пожалуйста, пример исходника на асме, как строчное (символьное) представление числа перевести в действительное число, чтоб можно было совершать над ним действия, а потом опять перевести в строчное. Если можно, асм под ДОС.
|
03.03.2008, 14:41 | #3 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 12
|
я извиняюсь, я имел ввиду по ДОС.
или подскажите, вот чтобы перевести строчное в численное, нужно от строчного отнять 48? А наоборот, чтоб получить из численного строчное, нужно прибавить 48? |
03.03.2008, 15:40 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если ты кодиш на MASM то можеш вызывать dwtoa. Она как раз это и делает.
I'm learning to live...
|
04.03.2008, 11:31 | #5 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 12
|
Stilet, посмотрел. Понял как сделать. Действительно, нужно отнимать и прибавлять 48, или символ '0', который кадируется как 048 или 30h. Это я посмотрел в реализации dwtoa. Правда, сам алгоритм пока не понял, уж больно он "накручен" и по моему, в нем есть лишние строки )
|
04.03.2008, 12:29 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Хм. Вот у меня завалялась старая лаба, перевода чисел до 100 на асме в строку.
Код:
Пардон, я тут точнее вспомнил и слегка поменял код )
I'm learning to live...
Последний раз редактировалось Stilet; 04.03.2008 в 12:55. |
21.05.2010, 11:30 | #7 | |
Пользователь
Регистрация: 02.10.2009
Сообщений: 15
|
Цитата:
если отнять 30h, мы получаем численное значение - в какой системе счисления? |
|
21.05.2010, 12:57 | #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. |
21.05.2010, 14:09 | #9 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Код:
Код:
|
21.05.2010, 14:41 | #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 |