⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_integer.html

📁 著名的密码库Crypto++的文档 C++语言的杰作。程序员必备。
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="567c89aa176b354143c99d558d05a5fb"></a><!-- doxytag: member="Integer::Divide" ref="567c89aa176b354143c99d558d05a5fb" args="(Integer &amp;r, Integer &amp;q, const Integer &amp;a, const Integer &amp;d)" -->static void __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#567c89aa176b354143c99d558d05a5fb">Divide</a> (<a class="el" href="class_integer.html">Integer</a> &amp;r, <a class="el" href="class_integer.html">Integer</a> &amp;q, const <a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;d)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate r and q such that (a == d*q + r) &amp;&amp; (0 &lt;= r &lt; abs(d)) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1849c5a8af28ab4f3a70d9690924f249"></a><!-- doxytag: member="Integer::Divide" ref="1849c5a8af28ab4f3a70d9690924f249" args="(word &amp;r, Integer &amp;q, const Integer &amp;a, word d)" -->static void __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#1849c5a8af28ab4f3a70d9690924f249">Divide</a> (word &amp;r, <a class="el" href="class_integer.html">Integer</a> &amp;q, const <a class="el" href="class_integer.html">Integer</a> &amp;a, word d)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">use a faster division algorithm when divisor is short <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf2934a6172b4cb5317874f0c993a420"></a><!-- doxytag: member="Integer::DivideByPowerOf2" ref="bf2934a6172b4cb5317874f0c993a420" args="(Integer &amp;r, Integer &amp;q, const Integer &amp;a, unsigned int n)" -->static void __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#bf2934a6172b4cb5317874f0c993a420">DivideByPowerOf2</a> (<a class="el" href="class_integer.html">Integer</a> &amp;r, <a class="el" href="class_integer.html">Integer</a> &amp;q, const <a class="el" href="class_integer.html">Integer</a> &amp;a, unsigned int n)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns same result as Divide(r, q, a, Power2(n)), but faster <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d4d29937f8ef666717530b30f137c37"></a><!-- doxytag: member="Integer::Gcd" ref="2d4d29937f8ef666717530b30f137c37" args="(const Integer &amp;a, const Integer &amp;n)" -->static <a class="el" href="class_integer.html">Integer</a> __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#2d4d29937f8ef666717530b30f137c37">Gcd</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;n)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">greatest common divisor <br></td></tr><tr><td colspan="2"><br><h2>INPUT/OUTPUT</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98f06f69fc1e81254df74408c184eb7e"></a><!-- doxytag: member="Integer::operator&gt;&gt;" ref="98f06f69fc1e81254df74408c184eb7e" args="(std::istream &amp;in, Integer &amp;a)" -->std::istream &amp;__cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#98f06f69fc1e81254df74408c184eb7e">operator&gt;&gt;</a> (std::istream &amp;in, <a class="el" href="class_integer.html">Integer</a> &amp;a)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84ed49a91b4e00f5e3454de276e8452f"></a><!-- doxytag: member="Integer::operator&lt;&lt;" ref="84ed49a91b4e00f5e3454de276e8452f" args="(std::ostream &amp;out, const Integer &amp;a)" -->std::ostream &amp;__cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#84ed49a91b4e00f5e3454de276e8452f">operator&lt;&lt;</a> (std::ostream &amp;out, const <a class="el" href="class_integer.html">Integer</a> &amp;a)</td></tr><tr><td colspan="2"><br><h2>CREATORS</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fcab0564d7270017ebcca55bae1a17a"></a><!-- doxytag: member="Integer::Integer" ref="7fcab0564d7270017ebcca55bae1a17a" args="()" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#7fcab0564d7270017ebcca55bae1a17a">Integer</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates the zero integer <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e86175b4b1fb79321736974846fce70"></a><!-- doxytag: member="Integer::Integer" ref="9e86175b4b1fb79321736974846fce70" args="(const Integer &amp;t)" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#9e86175b4b1fb79321736974846fce70">Integer</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;t)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy constructor <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0536c16f441f1b5abcb2019f7d52e17"></a><!-- doxytag: member="Integer::Integer" ref="b0536c16f441f1b5abcb2019f7d52e17" args="(signed long value)" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#b0536c16f441f1b5abcb2019f7d52e17">Integer</a> (signed long value)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from signed long <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15a70886677caedd35492b495c5290e6"></a><!-- doxytag: member="Integer::Integer" ref="15a70886677caedd35492b495c5290e6" args="(Sign s, lword value)" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#15a70886677caedd35492b495c5290e6">Integer</a> (<a class="el" href="class_integer.html#e0d4d9975fb6ab7667aab6f7ab8612d2">Sign</a> s, lword value)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from lword <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="834c31dcb78213e008b342c97764fd5d"></a><!-- doxytag: member="Integer::Integer" ref="834c31dcb78213e008b342c97764fd5d" args="(Sign s, word highWord, word lowWord)" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#834c31dcb78213e008b342c97764fd5d">Integer</a> (<a class="el" href="class_integer.html#e0d4d9975fb6ab7667aab6f7ab8612d2">Sign</a> s, word highWord, word lowWord)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from two words <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#9e8bf8c72458dff4ceb5d6cdf9e5c97a">Integer</a> (const char *str)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from string  <a href="#9e8bf8c72458dff4ceb5d6cdf9e5c97a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6931189bb0b2e68d04bef63bc6f172b3"></a><!-- doxytag: member="Integer::Integer" ref="6931189bb0b2e68d04bef63bc6f172b3" args="(const wchar_t *str)" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#6931189bb0b2e68d04bef63bc6f172b3">Integer</a> (const wchar_t *str)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19c0d3273fcc216a5849527c7ba759d8"></a><!-- doxytag: member="Integer::Integer" ref="19c0d3273fcc216a5849527c7ba759d8" args="(const byte *encodedInteger, size_t byteCount, Signedness s=UNSIGNED)" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#19c0d3273fcc216a5849527c7ba759d8">Integer</a> (const byte *encodedInteger, size_t byteCount, <a class="el" href="class_integer.html#a9712040ccab541e30c00e0f3ae39926">Signedness</a> s=UNSIGNED)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from big-endian byte array <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39fee8047d003a1d6044da4b5025f3ce"></a><!-- doxytag: member="Integer::Integer" ref="39fee8047d003a1d6044da4b5025f3ce" args="(BufferedTransformation &amp;bt, size_t byteCount, Signedness s=UNSIGNED)" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#39fee8047d003a1d6044da4b5025f3ce">Integer</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, size_t byteCount, <a class="el" href="class_integer.html#a9712040ccab541e30c00e0f3ae39926">Signedness</a> s=UNSIGNED)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from big-endian form stored in a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81d3973655b9f9d358de31ca4d0215c1"></a><!-- doxytag: member="Integer::Integer" ref="81d3973655b9f9d358de31ca4d0215c1" args="(BufferedTransformation &amp;bt)" -->&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#81d3973655b9f9d358de31ca4d0215c1">Integer</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from BER encoded byte array stored in a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> object <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#eb4abb834e9e897a28850d2081f3fa63">Integer</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, size_t bitcount)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a random integer  <a href="#eb4abb834e9e897a28850d2081f3fa63"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#88a110cb9f89a8810c228ad00cea18c2">Integer</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const <a class="el" href="class_integer.html">Integer</a> &amp;min, const <a class="el" href="class_integer.html">Integer</a> &amp;max, <a class="el" href="class_integer.html#9b4088ac01abf76b9ba60060abccb7a3">RandomNumberType</a> rnType=ANY, const <a class="el" href="class_integer.html">Integer</a> &amp;equiv=Zero(), const <a class="el" href="class_integer.html">Integer</a> &amp;mod=One())</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a random integer of special type  <a href="#88a110cb9f89a8810c228ad00cea18c2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19b7e6d48b1b57bd4846160ea2928175"></a><!-- doxytag: member="Integer::Zero" ref="19b7e6d48b1b57bd4846160ea2928175" args="()" -->static const <a class="el" href="class_integer.html">Integer</a> &amp;__cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#19b7e6d48b1b57bd4846160ea2928175">Zero</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">avoid calling constructors for these frequently used integers <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c070592581bf6c2f928c72bfa1c1638"></a><!-- doxytag: member="Integer::One" ref="8c070592581bf6c2f928c72bfa1c1638" args="()" -->static const <a class="el" href="class_integer.html">Integer</a> &amp;__cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#8c070592581bf6c2f928c72bfa1c1638">One</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">avoid calling constructors for these frequently used integers <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f0cb74a45a48e677952166bdac9d82d7"></a><!-- doxytag: member="Integer::Two" ref="f0cb74a45a48e677952166bdac9d82d7" args="()" -->static const <a class="el" href="class_integer.html">Integer</a> &amp;__cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#f0cb74a45a48e677952166bdac9d82d7">Two</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">avoid calling constructors for these frequently used integers <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de53248f5dbb520273a70856b975417c"></a><!-- doxytag: member="Integer::Power2" ref="de53248f5dbb520273a70856b975417c" args="(size_t e)" -->static <a class="el" href="class_integer.html">Integer</a> __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#de53248f5dbb520273a70856b975417c">Power2</a> (size_t e)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the integer 2**e <br></td></tr><tr><td colspan="2"><br><h2>ENCODE/DECODE</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#3b269bbf8a91faf217c0dd76222182bb">MinEncodedSize</a> (<a class="el" href="class_integer.html#a9712040ccab541e30c00e0f3ae39926">Signedness</a>=UNSIGNED) const </td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">minimum number of bytes to encode this integer  <a href="#3b269bbf8a91faf217c0dd76222182bb"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#c12ea467de9a609b86ec03d8cb8837e4">Encode</a> (byte *output, size_t outputLen, <a class="el" href="class_integer.html#a9712040ccab541e30c00e0f3ae39926">Signedness</a>=UNSIGNED) const </td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">encode in big-endian format  <a href="#c12ea467de9a609b86ec03d8cb8837e4"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18a664f00df5dcfb979b2e804e7418ce"></a><!-- doxytag: member="Integer::Encode" ref="18a664f00df5dcfb979b2e804e7418ce" args="(BufferedTransformation &amp;bt, size_t outputLen, Signedness=UNSIGNED) const " -->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -