CSAPP信息的表示与处理

前言

本文是对CMU 15213第一部分,信息的表示与处理的一个个人笔记和总结,主要包括计算机内整数的表示和浮点数的表示。

众所周知,计算机里对数字的表示方式是用二进制,显然,这与人类的习惯和直觉并不相符,根据Professor Bryant上课的说法,最早的计算机的确有人尝试过十进制,但后来发现,如果采用十进制表示数字,只能使用模拟信号处理,而模拟信号并不如数字信号准确和稳定,于是人们逐渐抛弃了其他进制的表示方法,而采用二进制。

值得一提的是,上个世纪70、80年代,苏联有科学家研究过三进制的计算机,半导体元器件有+1、0、-1三种形态,可以表示三进制,但是后来随着资金的撤出,三进制计算机流产。

整数的表示

无符号数(unsigned number)

通常的计算机中,用多位二进制码来表示一个整数(通常为32位或者64位),而其中如果最高位不用作符号位,则该表示方法为unsigned,c语言中就有unsigned int,unsigned char等等数据形式。

unsigned数的一般表示范围为:

$a+b=c$