您好、欢迎来到现金彩票网!
当前位置:PC蛋蛋 > 组八位 >

怎么把数组 32位浮点型 转换为8位整形再转换回来

发布时间:2019-07-31 10:36 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部这个问题你需要理解32位浮点数和整形数的二进制存储,32位浮点的二进制存储是1位符号为,8为指数位,23为尾数位,如何将一个浮点数转换成二进制呢比如12.5首先整数部分12的二进制计算用12/2的余数转换得到二进制1100,而小数部分0.5,用0.5*2后的整数部分进行计算得到.1000000,最后12.5的表示为1100.0000000000,再将小数点左移动3位,

  =130,二进制为10000010,由于12.5是整数则符号位为0,整个12.5的二进制表示为000000,这就是32位浮点的二进制过程,那么我们把32位传换成8位就反向推这个过程。

  先取出指数的8位,换算成数值,减去127,得到具体移动的小数点位数,然后将后面23位的小数点向右移动该位数,小数点左边部分就是整数部分。

  这里面要用到几个关键操作左移,右移,=位加,下面是我以前把一个40位浮点转换成64位浮点的情况,40的浮点的组织和32位一样,只是精度更高,就是位数编程了31位,希望对你又帮助

  //由于LONGLONG的高32位正好是指数位,把8位的指数位换算成11位

http://dietamujer.com/zubawei/397.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有