![]() |
|
![]() ![]() ![]() |
|
x8m6 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
borisbn, мне нужно непростое целочисленное деление как видишь. num нужно разложить на две uint32 части. Их поделить на divider, а потом опять собрать в int64. Как собирать и разбирать я уже знаю. А вот как поделить нет.
Т.е. у меня сомнения по поводу этого кода:
Книги открывал, и не одну. Это сообщение отредактировал(а) x8m6 - 24.1.2012, 13:03 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 2 Всего: 135 |
не очень понял, зачем всё это нужно, но, судя по описанию, в коде всё правильно, за исключением Д.б. unsigned int. Откажись от знаковых чисел, если тебе в принципе не нужны отрицательные -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
x8m6 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Все таки как - то по другому надо делить
http://liveworkspace.org/code/63b7e6059aa3...b38f413add3a62d |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 4 Всего: 85 |
Ну естественно так делить нельзя. во 2 классе, кажется учат делить столбиком. Вот столбиком и нужно делить, а не каждую цифру. Это тот случай, когда на асме сделать проще.
liveworkspace асма не понимает, (или я не знаю как там надо писать) Проверил на студии выборочно, вроде работает Если кто напишет на С/С++, тоже самое но короче, мое уважение, и плюс в репу! (естественно без привлечения 64-разрядной арифметики) Это сообщение отредактировал(а) volatile - 25.1.2012, 01:11 |
|||
|
||||
x8m6 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
volatile, что то не робит. переменные lo и hi не изменяются вообще
|
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 4 Всего: 85 |
x8m6, а они и не должны меняться.
результат функции в edx:eax это и есть возврат функции unsigned long long func(); |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 4 Всего: 85 |
Ну если вам нужен результат в lo, hi (чтоб убедиться что работает)
Допишите в самом конце: mov hi, edx mov lo, eax |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |