<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/rss/stylesheet/" type="text/xsl"?>
<rss xmlns:content='http://purl.org/rss/1.0/modules/content/' xmlns:taxo='http://purl.org/rss/1.0/modules/taxonomy/' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:itunes='http://www.itunes.com/dtds/podcast-1.0.dtd' xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:atom='http://www.w3.org/2005/Atom' xmlns:podbridge='http://www.podbridge.com/podbridge-ad.dtd' version='2.0'>
<channel>
  <title>苏迟但到的主页</title>
  <language>zh-cn</language>
  <generator>microfeed.org</generator>
  <itunes:type>episodic</itunes:type>
  <itunes:explicit>false</itunes:explicit>
  <atom:link rel="self" href="https://kexohproject.pages.dev/rss/" type="application/rss+xml"/>
  <link>https://kexohproject.pages.dev</link>
  <description>
    <![CDATA[<p>你好，欢迎访问个人主页！</p><p>擅长密码学，安全分析，数字水印等技术。</p><p>你可以联系我通过:findmykexin@gmail.com或者知乎私信。</p><p>我的知乎链接：<a href="https://www.zhihu.com/people/su-chi-dan-dao" rel="noopener noreferrer" target="_blank">苏迟但到 - 知乎 (zhihu.com)</a></p><p>我的github链接：<a href="https://github.com/kexinoh" rel="noopener noreferrer" target="_blank">kexinoh</a></p>]]>
  </description>
  <itunes:author>苏迟但到</itunes:author>
  <itunes:image href="https://kexohcdn.gptapi.cyou/kexohproject/production/images/channel-2e54d141ee195646ca12a9d16507a908.jpg"/>
  <image>
    <title>苏迟但到的主页</title>
    <url>https://kexohcdn.gptapi.cyou/kexohproject/production/images/channel-2e54d141ee195646ca12a9d16507a908.jpg</url>
    <link>https://kexohproject.pages.dev</link>
  </image>
  <copyright>©2024</copyright>
  <itunes:category text="Education">
    <itunes:category text="Language Learning"/>
  </itunes:category>
  <itunes:category text="Technology"/>
  <item>
    <title>为什么非要用移码而不是原码来比较整数大小?</title>
    <guid>pcLzYZeUyBQ</guid>
    <pubDate>Thu, 21 Jul 2022 05:35:38 GMT</pubDate>
    <itunes:explicit>false</itunes:explicit>
    <description>
      <![CDATA[<p data-pid="iHGW-mQF">因为移码是比较数字大小的编程量最小方法。</p><p data-pid="IR__4zW8">给你两个原码你要怎么比较大小呢？（注意，这个时候你只有硬件可以使用，既且或非移位）</p><p data-pid="2x7Uuo99">例如0 1101111和1 0010010，又比如111000和100111</p><p data-pid="QuXWXhB5">我们来画一个流程图，看看原码比较大小模型下的复杂程度。</p><figure data-size="normal"><noscript><img src="https://pic1.zhimg.com/v2-c7eb81fac1d93a8a0cb0d0d49efae560_b.jpg" data-caption="" data-size="normal" data-rawwidth="505" data-rawheight="608" data-original-token="v2-418617325c2e3aa713f103253ca937c6" data-default-watermark-src="https://pic4.zhimg.com/v2-7be78670adae8a51c422a56b5a0f98eb_b.jpg" class="origin_image zh-lightbox-thumb" width="505" data-original="https://pic1.zhimg.com/v2-c7eb81fac1d93a8a0cb0d0d49efae560_r.jpg"/></noscript><img src="data:image/svg+xml;utf8,&lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39; width=&#39;505&#39; height=&#39;608&#39;&gt;&lt;/svg&gt;" data-caption="" data-size="normal" data-rawwidth="505" data-rawheight="608" data-original-token="v2-418617325c2e3aa713f103253ca937c6" data-default-watermark-src="https://pic4.zhimg.com/v2-7be78670adae8a51c422a56b5a0f98eb_b.jpg" class="origin_image zh-lightbox-thumb lazy" width="505" data-original="https://pic1.zhimg.com/v2-c7eb81fac1d93a8a0cb0d0d49efae560_r.jpg" data-actualsrc="https://pic1.zhimg.com/v2-c7eb81fac1d93a8a0cb0d0d49efae560_b.jpg"/></figure><p data-pid="_4n1xcgo">你看要直接比较原码大小这么复杂，因此在比大小的时候往往会使用移码比较。</p><p data-pid="P4uSLEQF">移码是什么？</p><p data-pid="ziiGzwyu">移码本质是这个公式： <img src="https://www.zhihu.com/equation?tex=a%3D%28b%2B128%29+%5Cmod+256" alt="a=(b+128) \mod 256" eeimg="1"/> .</p><p data-pid="hw2pBj5h">.我们小学二年级真的就学过这个公式 <img src="https://www.zhihu.com/equation?tex=a%3Eb%5CLeftrightarrow+a%2B128%3Eb%2B128" alt="a&gt;b\Leftrightarrow a+128&gt;b+128" eeimg="1"/> 。</p><p data-pid="Gdk7mD9J">这个公式帮助我们将数字从 <img src="https://www.zhihu.com/equation?tex=%5B-127%2C127%5D%5CRightarrow%5B1%2C255%5D" alt="[-127,127]\Rightarrow[1,255]" eeimg="1"/> .其中[1,255]都是正数，我们只需要从高位1的出现，就可以快速的判断出大小。</p><p data-pid="AgMEIf2F">至于小数和整数本质没有区别，小数也可以生成自己的移码。</p><p data-pid="D0PafzkP"><b>Tip</b>:移码表示中，0有唯一的编码——1000…00，当出现000…00时（表示－2En），属于浮点数下溢。因此不考虑负0的比较大小问题。</p><p data-pid="tH6-LZjY">因此我们可以很少的硬件部分就实现了两个数的大小比较，这样才有利于提高速度。</p><p data-pid="uc-K_hSf"><b>Tips:</b>在IEEE 754当中，阶码也是移码，但是它的偏置值是127，也就是说 <img src="https://www.zhihu.com/equation?tex=%5B-126%2C127%5D%5CRightarrow%5B1%2C254%5D" alt="[-126,127]\Rightarrow[1,254]" eeimg="1"/> 。</p><p data-pid="dmLiAVMq">那如果阶码出现了0或者255会出现什么情况呢？</p><p data-pid="fv3pyX2A">如果阶码是0的话，符号位是0，则这个数是正0.符号为1的话是负0.</p><p data-pid="vFiaj1mP">如果阶码是255的话，符号位是0，则这个数是正无穷，符号位是1的话则是负无穷。</p><p data-pid="i8pKUixB">引入这两个数字的情况下，是为了计算出现异常情况下，依然将程序继续进行下去。</p><p data-pid="RXtsfA9X">推荐一本好书，欢迎大家购买。</p><a data-draft-node="block" data-draft-type="mcn-link-card" data-mcn-id="1533444822978818048"></a><p></p>]]>
    </description>
    <itunes:title>New Article Title for iTunes</itunes:title>
  </item>
</channel>
</rss>