一些有趣的规律

by pxz


发布于: 2013-11-15 所属分类: 后端 c c++ 算法 标签: 规律  173


<h3 id="h3--x-"><a name="一. 得到一个数x的负数方法:" class="reference-link"></a><span class="header-link octicon octicon-link"></span>一. 得到一个数x的负数方法:</h3><ol> <li><code>-1 * x</code> 乘数方法</li><li><code>~(x-1)</code> 二进制运算方法</li><li><code>~x + 1</code> 二进制运算方法</li></ol> <h3 id="h3--x-2-n-"><a name="二. 计算一个数x的乘以2的n次方方法:" class="reference-link"></a><span class="header-link octicon octicon-link"></span>二. 计算一个数x的乘以2的n次方方法:</h3><p><code>x << n</code></p> <h3 id="h3--x-2-n-"><a name="三. 计算一个数x的除以2的n次方方法:" class="reference-link"></a><span class="header-link octicon octicon-link"></span>三. 计算一个数x的除以2的n次方方法:</h3><p><code>x >> n</code></p> <h3 id="h3--2-8-"><a name="四. 计算2*8最有效率的方法是" class="reference-link"></a><span class="header-link octicon octicon-link"></span>四. 计算2*8最有效率的方法是</h3><p><code>2 << 3</code></p> <h3 id="h3--6-4-"><a name="五. 计算6/4最有效率的方法" class="reference-link"></a><span class="header-link octicon octicon-link"></span>五. 计算6/4最有效率的方法</h3><p><code>6 >> 2</code></p> <h3 id="h3--"><a name="六. 一个数异或同一个数两次, 结果还是那个数, 这个方法可用来加密数据" class="reference-link"></a><span class="header-link octicon octicon-link"></span>六. 一个数异或同一个数两次, 结果还是那个数, 这个方法可用来加密数据</h3><pre><code>7 ^ 4 ^ 4 = 7 7 ^ 5 ^ 5 = 7 </code></pre><h3 id="h3--"><a name="七. 不用第三个变量交换两个变量的方法" class="reference-link"></a><span class="header-link octicon octicon-link"></span>七. 不用第三个变量交换两个变量的方法</h3><p>1 . 方法1</p> <pre><code>int a = 3, b=8; a = a + b; b = a - b; a = a - b; </code></pre><p>缺点: (如果a,b的值比较大,容易超出int范围)</p> <p>2 . 方法2</p> <pre><code>int a = 3, b=8; a = a ^ b; b = a ^ b; // 相当于(3 ^ 8) ^ 8 运算后b等于3 这里应用了上面规律六 a = a ^ b; // 相当于(3 ^ 8) ^ 3 运算后a等于8 </code></pre>

发表评论

暂无评论

搜索
用户登陆