浮点数的二进制表示
浮点数的二进制,由于整数和小数的转换方法不同,所以先将浮点数的整数部分和小数部分分别转换后,再加以合并。
1、浮点数整数转换为二进制整数采用"除2取余,逆序排列"法。用2去除浮点数整数,可以得到一个商和余数;如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
2、浮点数小数转换为二进制小数采用"乘2取整,顺序排列"法。用2乘浮点数小数,可以得到积,将积的整数部分取出,如此直到积中的小数部分为零,或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
扩展资料:
计算机内部使用二进制表示数,二进制与浮点数的转换是比较复杂的。究其原因,就是人们使用的浮点数不适应现代化信息设备,不是最佳信息计数法。如果人们使用二进制来表示数,不仅与计算机的交流变得简便,而且只需要记得怎样写0和1就能够记数了,比用浮点数更简单。
浮点数的有限小数转换成二进制不能保证能精确转换,二进制小数转换成浮点数也遇到同样的问题。这也为信息处理带来了很大的不便。
甚至为了能够较快的转换浮点数和二进制数,在设计处理器的时候加入了专门的电路和语句来完成这个过程,造成了处理器设计的浪费。因此,可以说浮点数不适应现代化信息设备。
整数怎样转2进制,小数怎样转2进制就不说了。
12.5:
1. 整数部分12,二进制为1100; 小数部分0.5, 二进制是.1,先把他们连起来,从第一个1数起取24位(后面补0):
1100.10000000000000000000
这部分是有效数字。(把小数点前后两部分连起来再取掉头前的1,就是尾数)
2. 把小数点移到第一个1的后面,需要左移3位, 加上偏移量127:127+3=130,二进制是10000010,这是阶码。
3. -12.5是负数,所以符号位是1。把符号位,阶码和尾数连起来。注意,尾数的第一位总是1,所以规定不存这一位的1,只取后23位:
1 10000010 10010000000000000000000
把这32位按8位一节整理一下,得:
11000001 01001000 00000000 00000000
就是十六进制的 C1480000.
2.025675
1. 整数部分2,二进制为10; 小数部分0.025675, 二进制是.0000011010010010101001,先把他们连起来,从第一个1数起取24位(后面补0):
10.0000011010010010101001
这部分是有效数字。把小数点前后两部分连起来再取掉头前的1,就是尾数: 00000011010010010101001
2. 把小数点移到第一个1的后面,左移了1位, 加上偏移量127:127+1=128,二进制是10000000,这是阶码。
3. 2.025675是正数,所以符号位是0。把符号位,阶码和尾数连起来:
0 10000000 00000011010010010101001
把这32位按8位一节整理一下,得:
01000000 00000001 10100100 10101001
就是十六进制的 4001A4A9.
-1.99744
还需要详细说吗?
如果只有小数部分,那么需要右移小数点. 比如右移3位才能放到第一个1的后面, 阶码就是127-3=124.
补充一个浮点二进制数手工转换成十进制数的例子:
假设浮点二进制数是 1011 1101 0100 0000 0000 0000 0000 0000
按1,8,23位分成三段:
1 01111010 10000000000000000000000
最后一段是尾数。前面加上"1.", 就是 1.10000000000000000000000
下面确定小数点位置。阶码是01111010,加上00000101才是01111111(127),
所以他减去127的偏移量得-5。(或者化成十进制得122,122-127=-5)。
因此尾数1.10(后面的0不写了)是小数点右移5位的结果。要复原它就要左移5位小数点,得0.0000110, 即十进制的0.046875
最后是符号:1代表负数,所以最后的结果是 -0.046875
还要注意其他机器的浮点数表示方法可能与此不同. 不能任意移植.
计算机数据编码是什么?
用点阵表示时,字形码指的就是这个汉字字形点阵的代码。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为16′16点阵、提高型汉字为24′24点阵、48′48点阵等。如果是24′24点阵,每行24个点就是24个二进制位,存储一行代码需要3个字节。那么,24行共占用3′24=72个字节。计算公式:每行点数\/8′行数。
计算机中有哪些数字编码
16点阵、提高型汉字为24′24点阵、48′48点阵等。如果是24′24点阵,每行24个点就是24个二进制位,存储一行代码需要3个字节。那么,24行共占用3′24=72个字节。计算公式:每行点数\/8′行数。依此,对于48′48的点阵,一个汉字字形需要占用的存储空间为48\/8′48=6′48=288个字节。
三菱PLC4个字符转服点数
三菱PLC4个字符转服点数是指二进制浮点数的四则运算指令。浮点数的四则运算指令有加法指令EADD(FNC120)、减法指令ESUB(FNC121)、乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四条指令。四则运算指令的使用都是将两个源操作数中的浮点数进行运算后送入目标操作数。当除数为0时出现运算错误,...
1280*800像素,24位彩色图。变成640*480像素,256色图像。文件类型不变...
一楼回答是正确的,但是没有说清楚,像素表示图像的点数,颜色的位数表示用几位二进制数表示颜色,比如1位二进制数只有两种状态,那是黑白灰度图,也叫二值图,或者你可以叫它2色图,4位彩色图是用4位二进制数表示颜色2*2*2*2是16色图像,8位彩色是用8位二进制数表示颜色2^8=256色图像,24位...
幼儿园科学探索教案:我会做冷饮
——“我们快来帮助营业员把冷饮放到冰柜里去,可别让它们融化了!”师生共同数数,进行点数配对。3、买冷饮:教师运用“二进制”猜想游戏结果。——“卖冷饮喽!你们不用说,我就能猜出你最喜欢的冷饮!”教师演示“二进制”猜想游戏的方法(见附),引导幼儿对“二进制”猜想游戏的兴趣。
LTE中QPSK,16QAM,64QAM什么意思
设正交幅度调制的发射信号集大小为,称之为N-QAM。星座点经常采用水平和垂直方向等间距的正方网格配置,当然也有其他的配置方式。数字通信中数据常采用二进制表示,这种情况下星座点的个数一般是2的幂。常见的QAM形式有16-QAM、64-QAM、256-QAM等。星座点数越多,每个符号能传输的信息量就越大。但是,...
黑白图像的每个像素需要用几位二进制表示?
几位都可以,位数越高,能够表示的灰度越多,图像细节越丰富。如果仅仅要求黑白两色,只需要1位2进制数,表示2阶灰度。二进制优点:数字装置简单可靠,所用元件少;只有两个数码0和1,因此它的每一位数都可用任何具有两个不同稳定状态的元件来表示;基本运算规则简单,运算操作方便。更多的时候仅仅黑白...
图像的数据量公式如何计算,要详细的介绍一下,谢谢!
数据量=像素点数x图像深度\/8 像素深度=存储每个像素所用二进制位数 单位为:位 即每个像素能表示M种图像 M=2^n ,n即为像素深度。1bit=1\/8b ,1b=1\/1000kb ,1kb=1\/1024M ,1M=1\/1024G ,1G=1\/1024T
数字编码有哪些
1、NRZ(Non Return Zero)码亦称为不归零码。通信中常用的两种NRZ码为NRZ—L和NRZ—I码.分别如右图所示。两种码的共同特点是双极性(该优点是使平均功率较低);具有直流成分(该缺点是使在隔直流的通信系统中产生基线漂移,引起判决错误)。2、RZ码特点是在每个信号单元的中间均有跳变,为接收方提供...
什么是十六进制?
要想学汉化就必需要懂得十六进制!下面来讲什么是十六进制 下面是几种进制的计算方式:十进制:有10个基数:0 ~~ 9 ,逢十进一 二进制:有2 个基数:0 ~~ 1 ,逢二进一 八进制:有8个基数:0 ~~ 7 ,逢八进一 十六进制:有16个基数:0 ~~ 9,A,B,C,D,E,F(A=10,B=11,C=...
闳马格拉: 12/2=6 ... 0 6/2=3 ... 0 3/2=1 ... 1 1/2=0 ... 1 所以整数部分是11000.123*2 = 0.246 整数部分 0 0.246*2=0.492 0 0.492*2=0.984 0 0.984*2=1.968 1 0.968*2=1.936 1所以小数部分0.0001112.123=1100.00011
商洛市13329971760: 二进制中浮点数怎么表示 - ?
闳马格拉: 目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算.这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号.下面是具体的规格:符号位 阶...
商洛市13329971760: 16位二进制的浮点数表示 - ?
闳马格拉: 阶符1位、阶码3位(补码表示)、数符1位、尾数11位(原码表示),则 1 011 1 100 0000 0000其真值为: 指数为-5 尾数为1.10000000000 所以,真值为-1.1*2^(-5)=-0.000011 二进制 十进制为2^(-5)+2^(-6)
商洛市13329971760: 浮点数的二进制表示 - ?
闳马格拉: 整数怎样转2进制,小数怎样转2进制就不说了. 12.5: 1. 整数部分12,二进制为1100; 小数部分0.5, 二进制是.1,先把他们连起来,从第一个1数起取24位(后面补0): 1100.10000000000000000000 这部分是有效数字.(把小数点前后两部...
商洛市13329971760: 二进制的浮点表示法是怎么表 - ?
闳马格拉: 在讨论浮点数之前,先看一下整数在计算机内部是怎样表示的. int num=9; 上面这条命令,声明了一个整数变量,类型为int,值为9(二进制写法为1001).普通的32位计算机,用4个字节表示int变量,所以9就被保存为00000000 00000000 ...
商洛市13329971760: 设用8位二进制表示浮点数,左3位为阶码(含1位符号),右5位为尾数(含1位符号) - ?
闳马格拉: 可以把这个浮点数拆成:阶码:0100,尾数:10011010 如果阶码,尾数均是补码的话,那么阶码的原码为:0100,尾数的原码为:11100110 所以,二进制数的真值是:-1100.110,十进制数是:-12.75
商洛市13329971760: 根据IEEE - 754单精度浮点数标准给出十进制数131.15的二进制表示 - ?
闳马格拉: IEEE-754单精度浮点数,是32位二进制数字格式(b31~b0),其中b31为符号位,0表示正数,1表示负数;b30~b23,这8位存储的是二进制的指数,范围是-126~127;b22~b0,这23位,是尾数,有效数字. 第一步:131.15是正数,所以符号...
商洛市13329971760: 二进制数的定点及浮点表示 看的真晕. 搞不懂 - ?
闳马格拉: 定点表示法,意味着小数点在最高有效位的前面,位置为固定的.浮点表示法,用十进制来说明的话,例如:83.125可写成10^2*0.83125,10^3*0.083125,10^4*0.0083125.即表示小数点位置是可变的,小数点位置改变后一个二进制数能够用一种普遍的形式来表示:2^E*F 其中E称为阶码,F叫做尾数.把用阶码和尾数表示的数叫做浮点数.浮点数的表示不是唯一的.当小数点的位置改变时,阶码也随着相应改变.
商洛市13329971760: 计算机中浮点怎么表示?求例子 - ?
闳马格拉: 浮点由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法. 浮点数a由两个数m和e来表示:a = m * b^e(b的e次方). 在任意一个这样的系统中,我们选择一个基数b(...
商洛市13329971760: 我理解的浮点数的存储格式对吗?float f = 22.8125;换成二进制为:10110.1101.转换成指数形式为0.101101101 * 2^5;根据浮点数在内存中的布局,第一位... - ?
闳马格拉:[答案] 对的,用阶表示