定点数分为有符号数与无符号数
无符号数
所有字长全部用来储存数据,无符号位
有符号数
有符号数可以是整数也可以是小数,最高位为符号位
如图,整数的小数点隐含在最低位后面,小数的小数点隐含在最高位前面。
当表示存储整数部分不为零的小数时,计算机会将整数部分与小数部分分开存储。
原码反码补码
这三种码就是用来表示定点数的
原码
表示有符号数时,字长最高位为符号位,0为正数,1为负数
反码
当符号位为0(正数)时,反码与原码相同
当符号位为1(负数)时,反码为原码取反(符号位不取反)
事实上反码是求补码过程中的一个中间量,并没有实际作用。
补码
正数的补码=原码
负数的补码=反码+1
(额外)
移码
补码符号位取反,主要用于比较数的大小