计算机对外信息展示方式有文字、图片、音频、视频等,但不论应用在什么地方,信息在机器内部的形式都是一致的,即均为0和1组成的各种编码。
一、有符号数和无符号数
在计算机中参与运算的数有两大类:无符号数和有符号数。
无符号数
计算机中的数均放在寄存器中,通常称寄存器的位数为机器字长。
所谓无符号数,即没有符号的数,在寄存器中的每一位均可用来存放数值。当存放有符号数时,则需留出位置存放符号。
因此,在机器字长相同时,无符号数与有符号数所对应的数值范围是不同的。
以机器字长为16位为例,无符号数的表示范围为 0~65535,而有符号数的表示范围为 -32768 ~ +32767(此数值对应补码表示)。
有符号数
对有符号数而言,符号的“正”、“负”机器是无法识别的,但由于“正”、“负”恰好是两种截然不同的状态,如果用“0“表示“正”,用“1”表示“负”,这样符号也被数字化了,并且规定将它放在有效数字的前面,即组成了有符号数。
例如,+1100 在机器中表示为 01100 ,-1100 在机器中表示为 1 1100 。
在Java语言中,如 int、float 等都是有符号数,故下文所讲都是在有符号数的范畴。
二、机器数与真值
把符号(如+、-)“数字化”的数称为机器数,而把带“+”或“-”符号的数称为