Полная версия этой страницы:
CodeVision AVR арифметика
Саша_74
May 23 2011, 08:44
Народ помогите ПЛЗ разрулить такой гемор на CV.!!!!!!\
Надо с начало перемножить два unsigned long int получится unsigned long long int,
а потом это разделить на unsigned long int получится unsigned long int.
Сижу на CV 1.25.9, а он не понимает long long int. [deleted]
Буду счастлив если кто поделится желательно на С библиотечкой, [deleted]
Можно на мыло petrovav74@mail.ru. Заранее при много благодарен.
Интересно, как вы будете вызывать эту подпрограмму, если CV не понимает long long?
Проще сделать так.
int a1,a0,b1,b0
long c1,c0,d
a*b=a1*b1*2^32+(a0*b1+a1*b0)*2^16+a0*b0=c1*2^32+c0
(a* b )/d=c1/d*2^32+c1%d+c0/d
Саша_74
May 23 2011, 13:45
Процедура принимает и отдает long, а внутр long int*long int=long long int, long long int/long int=long int.
Внутри long int[2] и както обычным столбиком.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.