﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Good Good code,Day Day up</title><link>http://www.cppblog.com/dawnbreak/</link><description>PearLi's Blog</description><language>zh-cn</language><lastBuildDate>Sat, 04 Apr 2026 09:46:39 GMT</lastBuildDate><pubDate>Sat, 04 Apr 2026 09:46:39 GMT</pubDate><ttl>60</ttl><item><title>vmware桥接方式的设置</title><link>http://www.cppblog.com/dawnbreak/archive/2011/04/19/144611.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Tue, 19 Apr 2011 15:48:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2011/04/19/144611.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/144611.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2011/04/19/144611.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/144611.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/144611.html</trackback:ping><description><![CDATA[<p>今天弄开发板网络连接整了半天<br><br>硬件如下：<br>笔记本-双网卡-win7<br>网卡1--以太网卡，与开发板相连接，调试用<br>网卡2--无线网卡，与无线路由连接，上外网用<br><br>vmware-桥接-ubuntu10.04<br><br>我想达到的目的是可以用笔记本上网，虚拟接与开发板连接调试：<br>所以，我进行了如下配置：<br>对win7<br>无线局域网适配器 无线网络连接:（与路由器DHCP&nbsp;&nbsp;）<br>&nbsp;&nbsp; IPv4 地址 . . . . . . . . . . . . : 192.168.1.10<br>&nbsp;&nbsp; 子网掩码&nbsp; . . . . . . . . . . . . : 255.255.255.0<br>&nbsp;&nbsp; 默认网关. . . . . . . . . . . . . : 192.168.1.1</p>
<p>以太网适配器 本地连接:（与虚拟接vmware的vmnet0网卡桥接）<br>&nbsp;&nbsp; IPv4 地址 . . . . . . . . . . . . : 192.168.2.10<br>&nbsp;&nbsp; 子网掩码&nbsp; . . . . . . . . . . . . : 255.255.255.0<br>&nbsp;&nbsp; 默认网关. . . . . . . . . . . . . : 192.168.2.1</p>
对ubuntu10.04<br>eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link encap:Ethernet&nbsp; HWaddr 00:0c:29:6a:79:50&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet addr:192.168.2.11&nbsp; Bcast:192.168.2.255&nbsp; Mask:255.255.255.0<br>对开发板uboot<br>ipaddr=192.168.2.9<br>netmask=255.255.255.0<br><br>思路很清楚，问题来了，怎么绑定vmware的vmnet0与以太网卡的桥接？<br>关键问题在于vmware自作多情默认将vmnet0与有internet连接的网卡绑定，所以当我开启无线网卡是，就自动桥接到了无线网卡上，导致开发板与ubuntu无法通信<br><br>设置方法：<br>vmware：<br>edit-virtual network editor..|<br>选择vmnet0,在下方选择想要绑定的网卡，而不是autobridge<br>拍照留念：<br><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/dawnbreak/vmware_bridge_setting.JPG" width=594 height=499>
<img src ="http://www.cppblog.com/dawnbreak/aggbug/144611.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2011-04-19 23:48 <a href="http://www.cppblog.com/dawnbreak/archive/2011/04/19/144611.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>寻找k大</title><link>http://www.cppblog.com/dawnbreak/archive/2011/03/10/141491.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Thu, 10 Mar 2011 04:38:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2011/03/10/141491.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/141491.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2011/03/10/141491.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/141491.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/141491.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  自己写的寻找数组中第k大元素的函数，采用二分查找法，平均时间复杂度O(logN)，有更好的方法欢迎指正<br><br>&nbsp;&nbsp;<a href='http://www.cppblog.com/dawnbreak/archive/2011/03/10/141491.html'>阅读全文</a><img src ="http://www.cppblog.com/dawnbreak/aggbug/141491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2011-03-10 12:38 <a href="http://www.cppblog.com/dawnbreak/archive/2011/03/10/141491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【王立群读史记】--汉武帝</title><link>http://www.cppblog.com/dawnbreak/archive/2010/10/20/130503.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Tue, 19 Oct 2010 16:12:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2010/10/20/130503.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/130503.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2010/10/20/130503.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/130503.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/130503.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;三类人<br>只琢磨事，不琢磨人&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--克己奉公，事业第一，能臣，遭忌，不得善终<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如：魏齐侯窦婴，条侯周亚夫<br>只琢磨人，不琢磨事&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--只为官运亨通，有时不择手段，变数颇多<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如：丞相公孙弘，跳梁小丑江充<br>既琢磨人，又琢磨事&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--能成大事，功成名就，能得善终<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如：汉武帝刘彻，万户侯卫青，丞相卫绾<br><br>价值体系：忠诚，仁德，谦逊，谨慎。 
<img src ="http://www.cppblog.com/dawnbreak/aggbug/130503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2010-10-20 00:12 <a href="http://www.cppblog.com/dawnbreak/archive/2010/10/20/130503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【正说清朝十二帝】天命汗努尔哈赤</title><link>http://www.cppblog.com/dawnbreak/archive/2010/09/01/125568.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Wed, 01 Sep 2010 14:51:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2010/09/01/125568.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/125568.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2010/09/01/125568.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/125568.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/125568.html</trackback:ping><description><![CDATA[努尔哈赤成功一大要素-人合<br>努尔哈赤对待两名射中他的俘虏<br>----<br>两敌交锋，志在取胜。彼为其主，乃射我，今为我用，不又为我杀敌耶！如此勇敢之人，若临阵死于锋镝，犹将惜之，奈何以射我故而杀之乎！<br>努尔哈赤可以对射伤他的人宽免，足以表现其宽广的胸襟。<br><br>己合<br>努尔哈赤对待出尔反尔的布扬古，大局为重，以和为贵，保持平和心态，妥善处理关系。
<img src ="http://www.cppblog.com/dawnbreak/aggbug/125568.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2010-09-01 22:51 <a href="http://www.cppblog.com/dawnbreak/archive/2010/09/01/125568.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MSVC++ 对象内存模型深入解析与具体应用 (三)</title><link>http://www.cppblog.com/dawnbreak/archive/2010/06/05/117144.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Sat, 05 Jun 2010 06:13:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2010/06/05/117144.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/117144.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2010/06/05/117144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/117144.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/117144.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: MSVC++&nbsp;对象内存模型深入解析与具体应用前言：本文之所以强调MSVC,&nbsp;旨在提醒读者在不同平台和解释器下内存布局和实现上存在差异，但编程思想通用，文中内容大多来自笔者实际工作经验和网上搜集，力求正确，但水平有限，如有不当之处，敬请指出面向对象：本文面向有一定C/C++基础，并且可以读懂部分汇编的读者版权：欢迎转载，但请注明出处http://www.cppblog.com...&nbsp;&nbsp;<a href='http://www.cppblog.com/dawnbreak/archive/2010/06/05/117144.html'>阅读全文</a><img src ="http://www.cppblog.com/dawnbreak/aggbug/117144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2010-06-05 14:13 <a href="http://www.cppblog.com/dawnbreak/archive/2010/06/05/117144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解读IEEE标准754：浮点数表示</title><link>http://www.cppblog.com/dawnbreak/archive/2009/10/11/98333.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Sun, 11 Oct 2009 15:46:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2009/10/11/98333.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/98333.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2009/10/11/98333.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/98333.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/98333.html</trackback:ping><description><![CDATA[<table cellSpacing=0 cellPadding=0>
    <tbody>
        <tr>
            <td id=postmessage_5626 class=t_msgfont><font color=#0000ff>一、背景</font><br>　　在IEEE标准754之前，业界并没有一个统一的浮点数标准，相反，很多计算机制造商都设计自己的浮点数规则，以及运算细节。那时，实现的速度和简易性比数字的精确性更受重视。<br>　　直到1985年Intel打算为其的8086微处理器引进一种浮点数协处理器的时候，聪明地意识到，作为设计芯片者的电子工程师和固体物理学家们，也许并不能通过数值分析来选择最合理的浮点数二进制格式。于是Intel在请加州<span class=t_tag onclick=tagshow(event) href="tag.php?name=%E5%A4%A7%E5%AD%A6">大学</span>伯克利分校的 WilliamKahan教授──最优秀的数值分析家之一来为8087 FPU设计浮点数格式;而这个家伙又找来两个专家来协助他，于是就有了KCS组合（Kahn, Coonan, andStone）。　他们共同完成了Intel的浮点数格式设计，而且完成地如此出色，以致于IEEE组织决定采用一个非常接近KCS的方案作为IEEE的标准浮点格式。目前，几乎所有计算机都支持该标准，大大改善了科学应用程序的可移植性。<br><br><font color=#0000ff>二、表示形式</font><br>　　从表面上看，浮点数也是一串0和1构成的位序列(bit sequence)，并不是三头六臂的怪物，更不会咬人。然而IEEE标准从逻辑上用三元组{S,E,M}表示一个数N,如下图所示：<img id=img_0.8650564770063415 alt="" src="http://www.cublog.cn/u/20985/photo/060622140110.png" width=430 height=157>　　N的实际值n由下列式子表示：<br><img id=img_0.3835843630786943 alt="" src="http://www.cublog.cn/u/20985/photo/060622171148.png" width=333 height=89><br>其中：<br>　　★ n,s,e,m分别为N,S,E,M对应的实际数值,而N,S,E,M仅仅是一串二进制位。<br>　　★ S(sign)表示N的符号位。对应值s满足：n&gt;0时，s=0; n&lt;0时，s=1。<br>　　★ E(exponent)表示N的指数位，位于S和M之间的若干位。对应值e值也可正可负。<br>　　★ M(mantissa)表示N的尾数位，恰好，它位于N末尾。M也叫有效数字位（sinificand）、系数位（coefficient）, 甚至被称作&#8220;小数&#8221;。<br><font color=#0000ff><br>三、浮点数格式</font><br>　　IEEE标准754规定了三种浮点数格式：单精度、双精度、扩展精度。前两者正好对应<span class=t_tag onclick=tagshow(event) href="tag.php?name=C%E8%AF%AD%E8%A8%80">C语言</span>里头的float、double或者FORTRAN里头的real、double精度类型。限于篇幅，本文仅介绍单精度、双精度浮点格式。<br>　　★ 单精度:N共32位，其中S占1位，E占8位，M占23位。<img id=img_0.34765354359280337 alt="" src="http://www.cublog.cn/u/20985/photo/060622140125.png" width=430 height=157><br>　　★ 双精度:N共64位，其中S占1位，E占11位，M占52位。<br>
            <p align=center><img id=img_0.8111247326917702 alt="" src="http://www.cublog.cn/u/20985/photo/060622140146.png" width=430 height=157><br>&nbsp; &nbsp;&nbsp; &nbsp;值得注意的是，M虽然是23位或者52位，但它们只是表示小数点之后的二进制位数，也就是说，假定M为&#8220;010110011...&#8221;,在二进制数值上其实是&#8220;.010110011...&#8221;。而事实上，标准规定小数点左边还有一个隐含位，这个隐含位通常，哦不，应该说绝大多数情况下是1，那什么情况下是0呢？答案是N对应的n非常小的时候，比如小于2^(-126)(32位单精度浮点数)。不要困惑怎么计算出来的，看到后面你就会明白。总之，隐含位算是赚来了一位精度,于是M对应的m最后结果可能是"m=1.010110011...&#8221;或者&#8220;m=0.010110011...&#8221;<br><br><font color=#0000ff>四、计算e、m</font><br>　　首先将提到令<span class=t_tag onclick=tagshow(event) href="tag.php?name=%E5%88%9D%E5%AD%A6%E8%80%85">初学者</span>头疼的&#8220;规格化(normalized)&#8221;、&#8220;非规格化(denormalized)&#8221;。噢，其实并没有这么难的，跟我来！掌握它以后你会发现一切都很优雅,更美妙的是，规格化、非规格化本身的概念几乎不怎么重要。请牢记这句话：<font color=#ff0000>规格化与否全看指数E！</font><br>　　下面分三种情况讨论E，并分别计算e和m:<br>　　<br>　　<font color=#ff0000>1、规格化：当E的二进制位不全为0,也不全为1时，N为规格化形式。</font>此时e被解释为表示偏置（biased）形式的整数,e值计算公式如下图所示：<br></p>
            <p align=center><img id=img_0.9281709897331768 alt="" src="http://www.cublog.cn/u/20985/photo/060622174610.png" width=332 height=122></p>
            　　上图中，|E|表示E的二进制序列表示的整数值,例如E为"10000100",则|E|=132,e=132-127=5 。 k则表示E的位数，对单精度来说，k=8,则bias=127，对双精度来说，k=11,则bias=1023。<br>　　此时m的计算公式如下图所示：<br>　　<br>
            <p align=center><img id=img_0.23972738628245227 alt="" src="http://www.cublog.cn/u/20985/photo/060622180945.png" width=335 height=69></p>
            　　标准规定此时小数点左侧的隐含位为1,那么m=|1.M|。如M="101"，则|1.M|=|1.101|=1.625,即 m=1.625<br><br><font color=#ff0000>　　2、非规格化：当E的二进制位全部为0时，N为非规格化形式。</font>此时e，m的计算都非常简单。<br>
            <p align=center><img id=img_0.23598995350036045 alt="" src="http://www.cublog.cn/u/20985/photo/060622181001.png" width=331 height=111></p>
            　　注意，此时小数点左侧的隐含位为0。 为什么e会等于(1-bias)而不是(-bias)，这主要是为规格化数值、非规格化数值之间的平滑过渡设计的。后文我们还会继续讨论。<br>　　有了非规格化形式，我们就可以表示0了。把符号位S值1,其余所有位均置0后，我们得到了 -0.0; 同理，把所有位均置0,则得到+0.0。非规格化数还有其他用途，比如表示非常接近0的小数，而且这些小数均匀地接近0,称为&#8220;逐渐下溢(graduallyunderflow)&#8221;属性。<br>　　<br>　　<font color=#ff0000>3、特殊数值： 当E的二进制位全为1时为特殊数值。</font>此时，若M的二进制位全为0，则n表示无穷大，若S为1则为负无穷大，若S为0则为正无穷大; 若M的二进制位不全为0时，表示NaN(Not a Number)，表示这不是一个合法实数或无穷，或者该数未经初始化。<br>　　<br><font color=#0000ff>五、范例</font><br>　　仔细研读第四点后，再回忆一下<font color=#0000ff>文章开头计算n的公式</font>，你应该写出一个浮点编码的实际值n了吧？还不能吗？不急，我先给你示范一下。我们假定N是一个8位浮点数，其中，S占1位，E占4位，M占3位。下面这张表罗列了N可能的正数形式，也包含了e、m等值，请你对照着这张表，重温一下第四点，你会慢慢明白的。说实在的，这张表花了我不少功夫呢,幸好TeX画表格还算省事！　<br>　　<br>
            <p align=center><img id=img_0.44739584026417495 alt="" src="http://www.cublog.cn/u/20985/photo/060622210023.png" width=563 height=708></p>
            　　这张表里头有很多有趣的地方，我提醒一下：<br>　　★ 看 N 列，从上到下，二进制位表示是均匀递增的，且增量都是一个最小二进制位。这不是偶然，正是巧妙设计的结果。观察最大的非规格数，发现恰好就是M全为1, E全为0的情况。于是我们求出最大的非规格数为：<br>
            <p align=center><img id=img_0.16683135362377405 alt="" src="http://www.cublog.cn/u/20985/photo/060623064034.png" width=559 height=67></p>
            　　上面的公式中，h为M的位数(如范例中为3)。注意，公式等号右边的第一项同时又是最小规格数的值（如范例中为 8/512 ）;第二项则正是最小非规格数的值(如范例中为1/512)即该浮点数能表示的最小正数。 <br>　　★ 看 m 列，规格化数都是 1+ x 的形式，这个1正是隐含位1; 而非规格化数隐含位为0, 所以没有 "1+" 。<br>　　★ 看 n 列，非规格化数从上到下的增量都是 1/512,且过渡到规格化数时，增量是平滑的，依旧是1/512。这正是非规格化数中e等于(1-bias)而不是(-bias)的缘故，也是巧妙设计的结果。再继续往下看，发现增量值逐渐增大。可见，浮点数的取值范围不是均匀的。<br>　　<br><font color=#0000ff>六、实战</font><br>　　我们用一小段汇编来测试一下，浮点数在内存中是如何表示的。测试<span class=t_tag onclick=tagshow(event) href="tag.php?name=%E7%8E%AF%E5%A2%83">环境</span>： Gentoo<span class=t_tag onclick=tagshow(event) href="tag.php?name=Linux">Linux</span>2006.0/GNU assembler version 2.16.1/GNU gdb 6.4/AMD XP1600+。 如下所示<br>代码:<br>
            <p align=left>~/coding/assemble $&nbsp;&nbsp;gdb float<br>GNU gdb 6.4<br>Copyright 2005 Free Software Foundation, Inc.<br>GDB is free software, covered by the GNU General Public License, and you are<br>welcome to change it and/or distribute copies of it under certain conditions.<br>Type "show copying" to see the conditions.<br>There is absolutely no warranty for GDB.&nbsp;&nbsp;Type "show warranty" for details.<br>This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".<br><br>(gdb) list<br>1 .section .data<br>2 f1:<br>3&nbsp; &nbsp;&nbsp;&nbsp;.float&nbsp;&nbsp;5<br>4 f2:<br>5&nbsp; &nbsp;&nbsp;&nbsp;.float&nbsp;&nbsp;0.1&nbsp; &nbsp; <br>6 .section .text<br>7&nbsp; &nbsp;&nbsp;&nbsp;.global _start<br>8 _start:<br>9&nbsp; &nbsp;&nbsp;&nbsp;nop<br>10 <br>(gdb) x/f &amp;f1<br>0x80490a4 &lt;f1&gt;: 5<br>(gdb) x/xw &amp;f1<br>0x80490a4 &lt;f1&gt;: 0x40a00000<br>(gdb) x/f &amp;f2<br>0x80490a8 &lt;f2&gt;: 0.100000001<br>(gdb) x/xw &amp;f2<br>0x80490a8 &lt;f2&gt;: 0x3dcccccd<br>(gdb)</p>
            <br><br>　　从上面的gdb<span class=t_tag onclick=tagshow(event) href="tag.php?name=%E5%91%BD%E4%BB%A4">命令</span>结果可以看出，浮点数5被表示为 0x40a00000，二进制形式为( 0<font color=#ff0000>100 0000 1</font><font color=#0000ff>010 0000 ... 0000 0000</font>)。红色数字为E，可以看出|E|=129&gt;0, 则e=129-bias=129-127=2 ； 蓝色数字为M,且|E|&gt;0，说明是规格化数，则m=|1.M|=|1.01000..000|=1.25 ; 由n的计算公式可以求得 n=(-1)^0 *1.25 * 2^2 = 5， 结果被<span class=t_tag onclick=tagshow(event) href="tag.php?name=%E9%AA%8C%E8%AF%81">验证</span>了。 <br>　　同样，你也可以验证一下十进制浮点数0.1的二进制形式是否正确，你会发现，0.1不能表示为有限个二进制位，因此在内存中的表示是舍入(rounding)以后的结果，即 0x3dcccccd, 十进制为0.100000001， 误差0.000000001由此产生了。<br></td>
        </tr>
    </tbody>
</table>
<img src ="http://www.cppblog.com/dawnbreak/aggbug/98333.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2009-10-11 23:46 <a href="http://www.cppblog.com/dawnbreak/archive/2009/10/11/98333.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从小函数实现看应聘者的编程素质（atoi.strcmp...）</title><link>http://www.cppblog.com/dawnbreak/archive/2009/08/24/94262.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Mon, 24 Aug 2009 07:17:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2009/08/24/94262.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/94262.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2009/08/24/94262.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/94262.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/94262.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/dawnbreak/archive/2009/08/24/94262.html'>阅读全文</a><img src ="http://www.cppblog.com/dawnbreak/aggbug/94262.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2009-08-24 15:17 <a href="http://www.cppblog.com/dawnbreak/archive/2009/08/24/94262.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>同步与异步传输定义与区别 </title><link>http://www.cppblog.com/dawnbreak/archive/2009/08/19/93834.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Wed, 19 Aug 2009 08:00:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2009/08/19/93834.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/93834.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2009/08/19/93834.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/93834.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/93834.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/dawnbreak/archive/2009/08/19/93834.html'>阅读全文</a><img src ="http://www.cppblog.com/dawnbreak/aggbug/93834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2009-08-19 16:00 <a href="http://www.cppblog.com/dawnbreak/archive/2009/08/19/93834.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A*算法实现</title><link>http://www.cppblog.com/dawnbreak/archive/2009/08/14/93351.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Fri, 14 Aug 2009 09:43:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2009/08/14/93351.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/93351.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2009/08/14/93351.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/93351.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/93351.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 根据前一篇文章描述实现的A*算法&nbsp;&nbsp;<a href='http://www.cppblog.com/dawnbreak/archive/2009/08/14/93351.html'>阅读全文</a><img src ="http://www.cppblog.com/dawnbreak/aggbug/93351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2009-08-14 17:43 <a href="http://www.cppblog.com/dawnbreak/archive/2009/08/14/93351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A* （路径搜索）算法导引 </title><link>http://www.cppblog.com/dawnbreak/archive/2009/08/13/93106.html</link><dc:creator>pear_li</dc:creator><author>pear_li</author><pubDate>Thu, 13 Aug 2009 02:35:00 GMT</pubDate><guid>http://www.cppblog.com/dawnbreak/archive/2009/08/13/93106.html</guid><wfw:comment>http://www.cppblog.com/dawnbreak/comments/93106.html</wfw:comment><comments>http://www.cppblog.com/dawnbreak/archive/2009/08/13/93106.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/dawnbreak/comments/commentRss/93106.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dawnbreak/services/trackbacks/93106.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: A*算法是路径搜索中的经典算法，也是公认的最优算法之一，网上找到一篇文章讲的很好，适合入门，所以翻译了一下，没有完全参照原文，主要还是意译，网上也有其他人翻译好的，个人觉得还是自己来一遍更加容易理解，读者自斟：&nbsp;&nbsp;<a href='http://www.cppblog.com/dawnbreak/archive/2009/08/13/93106.html'>阅读全文</a><img src ="http://www.cppblog.com/dawnbreak/aggbug/93106.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dawnbreak/" target="_blank">pear_li</a> 2009-08-13 10:35 <a href="http://www.cppblog.com/dawnbreak/archive/2009/08/13/93106.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>