浮点数在计算机内存中的储存方式。
来源:互联网 发布:淘宝运营主要是做什么 编辑:程序博客网 时间:2024/05/23 15:44
浮点数在计算机内存中的储存方式
整数在计算机内存中是以其二进制的原码,补码和反码来表示的,其中正数的二进制的原码,补码及反码都是其本身。例如:
A=+62;【A】原=[A]反=【A】补=0 111110;
而负数的原码,反码和补码是不同的。其转换规则是:负数原码是其正直的原码符号位取反(即1表示负号,0表示正号) 负数的反码是其原码除符号位外各位取反。其补码是其反码加一。例如:
A=-62; [A]原=1 111110; 【A】反=1 000001;【A】补=1 000010;
但浮点数在计算机中却无法用这种方式来储存。它们在计算机内存中一般采用定点表示法与浮点表示法来储存的。下面来分别介绍定点表示法和浮点表示法;
(1) 定点表示法 规定:计算机中所有数的小数点的位置是固定不变的,因此小数点无需使用专门的记号表示出来。而在定点的小数格式中,把小数点固定在数值部分最高位的左边。任一定点小数的计算机内表示形式如下:
[ N0] . 【N-1][N-2][......][N-m】
符号位 小数点 数值部分
对于二进制的(m+1)位定点小数格式的数N所能表示的范围是:
|N|<=1-2^(-m)
因此定点小数格式表示的所有数都是绝对值小于一的纯小数。对于绝对值大于一的数,如果直接使用定点小数格式将会产生“溢出”,所以需要根据实际需要使用一个“比例因子”,将原始数据按该比例缩小,以定点小数格式表示,得出的结果再按该比例扩大,才得到实际的结果。
(2)浮点表示法:
一个浮点数分为阶码和位数两部分,阶码用于表示小数点在该数中的位置,尾数用于表示数的有效数值。由于阶码表示小数点的位置,所以阶码总是一个(正,负)整数 ,尾数可以采用整数和纯小数两种形式 。(类似整数科学技术法); N=234567*10^-3=2345670*10^-4=0.234567*10^3;
计算机内部,阶码通常采用补码形式的二进制整数表示,尾数通常采用原码形式的二进制小数表示。阶码和尾数占用的位数可以灵活设定,阶码确定数的表示范围,尾数确定数的精度。所以有阶码位数多则范围大,尾数位数多则精度高。
设计算机的字长为32则: 【一位】 【 八位 】 【二十三位】
符号位 阶码部分 尾数部分
其规格化浮点数表示范围为:_+1/2*2^-128~+-(1-2^-24)*2^127
浮点表示法要注意,为提高精度通常规定其尾数的最高位必须是非零的有效位。这是浮点数的规格化形式。
关于浮点数溢出:如果一个数的阶大于计算机所能表示的最大阶码,则称为上溢,
小于计算机所能表示的最小阶码,则为下溢。上溢时计算机无法继续运算,应该以溢出中断处理。下溢时计算机将该数作为机器零来处理。
- 浮点数在计算机内存中的储存方式。
- 关于浮点数在计算机中的储存
- 浮点数在计算机中的储存原理
- 浮点数在计算机内存中的表示
- 浮点数在计算机中的存储方式
- 浮点数在计算机中的存储方式
- 数据(整型数、浮点数)在计算机内存中的存储方式
- 浮点数在计算机内存中的存储格式
- 浮点数在计算机中的存储方式(转)
- 浮点数在计算机中存储方式
- 浮点数在计算机中存储方式
- 浮点数在计算机中存储方式
- 浮点数在计算机中存储方式
- 浮点数在计算机中存储方式
- 浮点数在计算机中存储方式
- 浮点数在计算机中存储方式
- 浮点数在计算机中存储方式
- 浮点数在计算机中存储方式
- Ubuntu 16.04安装PyCharm-Python IDE
- [NOIP2017]复赛Day1T1小凯的疑惑
- 关于NFS挂载问题——NFS failed: Protocol not supported
- Batch Normalization导读
- 动态规划-1-性质
- 浮点数在计算机内存中的储存方式。
- ubuntu14.04安装opencv3.0.0
- PCA-principal component analysis
- PAT BASIC LEVEL PRACTISE BOLG UPDATE NOTICE
- java日常学习:练习作业Frame(QQ登录界面)、按钮及其添加颜色
- 多线程基础之五:Windows API提供的mutex和semaphore性能比较
- HDOJ 1678 Shopaholic
- 647. Palindromic Substrings
- ubuntu 16.04上运行tensor flow 指定gpu