| Цитата(ramazot @ 20.4.2012, 09:05) | Помогите перевести 2 функции Delphi на С++
| Код |
//Значение бита в двойном слове (32бита) //байт = 8 бит, //слово = 2 байта = 16 бит //двойное слово = 2 слова = 4 байта = 32 бита.. //кажлый бит может быть либо 1 либо 0 //байт изменяется от 0 до 255 function Bit(Value, n: Integer): Boolean; asm bt eax, edx setc al and eax, 0FFh end;
//Функция быcтрого возведения в степень function Pow(a, b, n: integer): integer; var i: integer; ai: extended; begin ai := a; for I := Trunc(log2(b)) - 1 downto 0 do if Bit(b, i) then ai := Round(sqr(ai) * a) mod n else ai := Round(sqr(ai)) mod n; result := Round(ai); end;
|
Функция Bit переносится без изменений,а вот как будет Pow,не разберусь. Заранее благодарен в помощи. |
Прошу совета. |