[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Ну, например, деление:
typedef unsigned int __XX;
__XX
__udivmodXI3 ( __XX a, __XX b)
{
__XX al = a; // quotant
__XX ah = 0; // reminder
__XX tmpf;
int i;
for (i = sizeof(__XX)*8; i > 0; i--)
{
ah = (ah << 1) | (al >> (sizeof(__XX)*8-1) );
tmpf = (ah >= b) ? 1 : 0;
ah -= ((tmpf) ? b : 0);
al = (al << 1) | tmpf;
}
return al; // for __udivXi3
return ah; // for __umodXi3
}
E-mail: info@telesys.ru