数的表示方法
来源:互联网 发布:web表单数据导出代码 编辑:程序博客网 时间:2024/04/28 19:38
数在计算机中是以二进制形式表示的。数分为有符号数和无符号数。对于无符号数,机器数的所有位表示数值。对于有符号数,机器数的最高位为符号位,其余位表示数值。
如果约定小数点的位置在机器数的最低数值位之后,则是纯整数;如果约定小数点的位置在机器数的最高数值位之前,则是纯小数。
如果小数点的位置不变,叫做定点数;小数点的位置不固定,叫做浮点数。
原码、反码、补码都是有符号定点数的表示方法。
一个有符号定点数的最高位为符号位,0是正,1是负。
以下都以机器字长为8举例。
原码表示法:
原码就是这个数本身的二进制形式。 例如:
[+1]原=00000001;[-1]原=10000001
0的原码表示方法不唯一:[+0]原=00000000,[-0]原=10000000
机器字长为n的原码表示法能表示的数的个数为:2n-1(0的表示占用了2个编码)
反码表示法:
正数的反码和原码相同;负数的反码则是其原码除符号位外按位取反。例如:
[+1]反=00000001;[-1]反=11111110
0的反码表示方法不唯一:[+0]反=00000000,[-0]反=11111111
机器字长为n的反码表示法能表示的数的个数为:2n-1(0的表示占用了2个编码)
补码表示法:
正数的补码和原码相同;负数的补码则是其反码末位加1。例如:
[+1]补=00000001;[-1]补=11111111
0的补码表示唯一:[+0]补=00000000=[-0]补
机器字长为n的补码表示法能表示的数的个数为:2n
一个数和它的补码是可逆的。
为什么要设立补码呢?
第一是为了能让计算机执行减法:
[a-b]补=[a]补+[-b]补
第二是让0的表示唯一
- 数的表示方法
- 浮点数的表示方法
- 浮点数的表示方法
- 浮点数的表示方法
- 浮点数的表示方法
- 十进制浮点数的表示方法
- 二进制数的几种表示方法
- 浮点数的二进制表示方法
- 浮点数的表示与存储方法
- IEEE754浮点数的表示方法
- IEEE754浮点数的表示方法
- 十进制,八进制,十六进制数的表示方法
- 浮点数表示方法
- 浮点数表示方法
- 浮点数内存表示方法
- 计算机中有符号数的表示方法
- 计算机中有无符号数的表示方法
- c/c++中的浮点数的表示方法
- Linux 下文件名大小写转换
- Intent和PendingIntent的区别
- 学习live555的点点滴滴(一)
- 安装GTK on DirectFB
- 右键菜单
- 数的表示方法
- 安装xorg及XDirectFB
- 基础类的DSP/BIOS API调用
- debian内核编译
- delphi 中的dll编程注意事项
- 用GDB调试DirectFB
- effective c++条款14学习总结
- DSP/BIOS的启动序列
- table的宽度,单元格内换行问题[转]