Russian Qt Forum
Ноябрь 22, 2024, 20:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Разложение числа на два слагаемых  (Прочитано 5294 раз)
CuteBunny
Гость
« : Ноябрь 30, 2012, 13:15 »

Как получить такую последовательность?

96 = 00+96
97 = 11+86
98 = 22+76
99 = 33+66
100 = 44+56
101 = 55+46
102 = 66+36
103 = 77+26
104 = 88+16
и т.д. допустим у нас на входе 105, получается 99+6

Получается, у меня первое слагаемое - это что-то вроде индекса, второе какое-то смещение, я могу конечно создать массив этих числел и искать по нему, но это не правильно мне кажется, ведь здесь явно как-то хитро кодируются числа?...
Записан
Serr500
Гость
« Ответ #1 : Ноябрь 30, 2012, 13:18 »

For y in [96, 105]
t = (y - 96) * 11, y = t + (y -t)
Записан
mutineer
Гость
« Ответ #2 : Ноябрь 30, 2012, 13:20 »

y = t + (y -t)

хм... y = y ?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Ноябрь 30, 2012, 13:29 »

это чтобы показать, что формула справедлива. т.е. одно слагаемое равно t, а второе — y-t.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
CuteBunny
Гость
« Ответ #4 : Ноябрь 30, 2012, 13:35 »

For y in [96, 105]
t = (y - 96) * 11, y = t + (y -t)

Ок, спс!!! Это то, что нужно!

Не знаю правильно ли я все делаю, но это мне нужно для работы со сканером штрих-кодов symbol ls2208!
Я через WH_KEYBOARD_LL перехватываю коды сканера, так вот он всегда мне отсылает нажатие системных клавиш в виде:
к примеру
[164][96][101][100] (в десятичном виде) получается это символ из ascii - 6 (0x36), теперь понятно как раскодировать:

164 - это не понятно, что
96 - это число участвует в формуле
101 - его надо разложить по формуле и получим два слагаемых: 55, 46
100 - вычитаем из этого числа второе слагаемое из предыдущего п. получаем 54 (0x36) - т.е. символ ascii 6!

Спасибо!:)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.