Re[2]: Как проверить очень быстро...
От: Кодт Россия  
Дата: 10.01.02 16:31
Оценка:
Здравствуйте fAX, Вы писали:

H>>является ли строка числом (целым, вещественным не имеет значения)?


fAX>Народ, вы чего? вы б еще машину Тьюринга вспомнили.


fAX>По сути:

fAX>Если число целое (без знака):
fAX>очень быстро — делаешь logical OR (|) всех символов. Потом проверяешь или
fAX>
fAX>if (result >= 0x30 && result <= 0x39)
fAX>

fAX>можно проверять и в цикле, где делаешь OR. Но непонятно что быстрее будет ( на коротких строках)

fAX>Первое, что пришло в голову


Ага, счаз!

"69" == 0x36 | 0x39 == 0x3F == "?"
"!0" == 0x21 | 0x30 == 0x31 == "1" == "!\x010" == 0x21 | 0x10

"123 4 5 6" == "123456" (" " --> 0x20)


Так что, все же, конечные автоматы...
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.