1.5 计算机中的数据表示
<strong>数值数据的表示</strong>
重要程度:9 分
<h2>数值数据的表示</h2>
<p>在计算机中,数值数据主要分为整数和实数两种类型。它们分别采用不同的编码方式来表示。</p>
<h3>1. 敬爱的原码、反码与补码</h3>
<ul>
<li><strong>原码:</strong>最高位为符号位(0代表正数,1代表负数),其余位直接表示数值大小。<br>
例如:+5 的8位二进制原码是 00000101;-5 的8位二进制原码是 10000101。
</li>
<li><strong>反码:</strong>对于正数,其反码与原码相同;对于负数,除符号位外其他位取反。<br>
例如:-5 (原码: 10000101) 的反码是 11111010。
</li>
<li><strong>补码:</strong>正数的补码等于其本身;负数的补码为其反码加1。<br>
例如:-5 (反码: 11111010) 的补码是 11111011。
</li>
</ul>
<h3>2. 定点数与浮点数</h3>
<p>根据小数点位置是否固定,可以将数值分为定点数和浮点数两类。</p>
<ul>
<li><strong>定点数:</strong>假定小数点位于某个固定位置的数据形式,通常用于处理不需要很大范围或精度的情况。</li>
<li><strong>浮点数:</strong>采用科学记数法表示,包括尾数部分(有效数字)和阶码部分(指数)。IEEE 754标准定义了单精度(32位)和双精度(64位)两种格式。<br>
例如:<code>1.23 * 2^4</code> 在单精度浮点数中的表示。
</li>
</ul>
<h3>例题分析</h3>
<ol>
<li>给定一个十进制数 -7,求其8位二进制下的原码、反码及补码。<br>
解答:<br>
原码: 10000111<br>
反码: 11111000<br>
补码: 11111001
</li>
<li>已知某浮点数按IEEE 754单精度格式存储如下(十六进制表示): 40490FDB,请将其转换成十进制形式。<br>
解析步骤略过具体计算过程,最终结果约为 3.14159。
</li>
</ol>
这段HTML代码概括了数值数据表示的主要知识点,并通过具体的例子加深理解。希望这对您有所帮助!