-
证明停机问题的原因: 图灵通过证明停机问题可以验证计算机的算法并不能解决一切问题。
证明方法: 对角线方法
数学原理: 哥德尔不完备定理
-
二进制补码的原理: 在给定码长N的情况下,求负数-n的补码,就是求一个二进制数n',使得n+n'=2N,而正数的补码与原码一致,无需多加说明。
原理类似于时钟,时钟为12小时制,指针逆时针走n小时与顺时针走12-n小时最后达到的位置是相同的,当时间的运算结果溢出12时,得到的总是这个时间除以12以后的余数。对于时钟来说-1的补码就是11,-2的补码就是10,-3的补码就是9……
对于二进制数而言,假设正数m和负数-n相加(即正数m和正数n的减法运算),其中-n的补码为n',对于m+n',当m>n时,m>2N-n',即m+n'>2N,存在在符号位上进1并且溢出的现象,符号位上进1以后变为0,溢出以后取这个溢出的数去掉2N后剩下的余数作为计算结果,则m+n'=m+2N-n-2N=m-n,保证了m+n'与m-n数值上的一致性(类似于时钟),同时结果的符号位上为0,是正数,与m>n一致。
当m<n时,同理可得:m+n'<2N,没有溢出,结果的符号位为1,为负数,与m<n一致,此时结果为m+n'=m+2N-n,这个结果是以一个补码的形式呈现的,由于这是一个负数,这个结果的绝对值应为2N-(m+2N-n)=n-m,则结果为m-n,使得m+n'与m-n在数值上也是一致的。
-
±0: *000000000000000
±1.0: *011111100000000
最大非规范化数: *000000011111111
最小非规范化数: *000000000000001
最小规范化浮点数: *000000100000000
最大规范化浮点数: *111111011111111
±∞: *111111100000000
NaN: *1111111 non zero