$$
x ^ { 2 } - 2 = 0
$$
如果某个数不是任何以整数为系数的代数方程的解,那么这个数称做超越数(transcendental,所有的超越数都是无理数,但是反之不成立)。π就是一个典型的超越数,它是圆的周长与其直径的比值,可以近似的表示为:
$$
3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 8 4 6 2 6 4 3 3 8 3 2 7 9 5 0 2 8 8 4 1 9 7 1 6 9 3 9 9 3 7 5 1 1 . . .
$$
e是另一个典型的超越数,它是数学表达式:
$$
( 1 + { \frac { 1 } { n } } ) ^ { n }
$$
当n趋向无穷大时的值,近似的值为:
2.71828182845904523536028747135266249775724709369996...
目前我们所讨论过的所有数—有理数和无理数—统称为实数(real numbers)。使用实数定义它们的目的是为了将其与虚数(imaginarynumbers)区别开来,虚数是负数的平方根。实数和虚数一起构成了复数(complexnumbers)。不管名称如何,它们都有重要的作用,例如,虚数确实存在于现实世界,它在解决电子学的某些高级问题中有重要应用。
我们习惯于把数字看做连续(continuous)的,任意给出两个有理数,都可以找出一个位于它们之间的数。实际上,只需要取这两个数的平均值即可。但是,数字计算机对连续数据却无能为力,因为二进制中的每一位非0即1,两者之间没有任何数。这一特点决定了数字计算机只能处理离散(discrete)数据。二进制数的位数直接决定了所能表示的离散数值的个数。例如,如果你选择的二进制位数是32,则所能表示的自然数的范围是0\~4,294,967,295。如果想要在计算机中存储4.5这个数,则需要选择新的方法并做一些其他方面的改进。
小数也可以表示为二进制数吗?当然可以,最简单的方法可能就是使用BCD码(二进制编码的十进制数)。如第19章所述,BCD码是将十进制数以二进制的形式进行编码,0\~9之间的每一个数都需要用4位来表示,如下表所示。
编码—隐匿在计算机软硬件背后的语言
368