理解计算机内部的数据表示:从二进制到整数的深度剖析
1 固定精度的二进制数
在计算机科学中,二进制数是计算机处理和存储数据的基础。计算机只能理解由0和1组成的二进制数,因此我们需要掌握如何将十进制数转换为二进制数,反之亦然。此外,计算机使用固定数量的位(bit)来存储数字,这限制了可以表示的值的范围。
1.1 二进制数的基本概念
计算机使用二进制数来表示数据。与我们熟悉的十进制数不同,二进制数只包含两个符号:“0”和“1”。例如,十进制数1234在二进制中表示为10011010010。基数越小,表示相同值所需的数字就越多,因此大的二进制数既繁琐又容易出现抄录错误。
2 位置数字系统
为了更好地理解二进制数,我们需要了解位置数字系统的工作原理。位置数字系统使用符号序列来表示大数字。每个符号的算术值根据其位置加权。例如,十进制序列1234的值可以用多项式表示为:
[ 1234_{10} = 1 \times 10^3 + 2 \times 10^2 + 3 \times 10^1 + 4 \times 10^0 ]
2.1 二进制转十进制转换
将二进制数转换为十进制数时,我们只需在多项式中使用2的幂而不是10的幂。例如,将二进制数1011.0111₂转换为十进制如下:
[ 1011.0111_2 = 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 + 0 \times 2^{-1} + 1 \times 2^{-2} + 1 \times 2^{-3} + 1 \times 2^{-4}