C#中32位浮点数Float实例代码分析


这篇文章主要介绍“C#中32位浮点数Float实例代码分析”,在日常操作中,相信很多人在C#中32位浮点数Float实例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#中32位浮点数Float实例代码分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!我们都知道单精度浮点数(Single,float,Real)由32位0或1组成,它具体是如何来的。浮点数的32位N=1符号位(Sign)+8指数位(Exponent)+23尾数部分(Mantissa)符号位(Sign) : 0代表正,1代表为负【占1位】指数位(Exponent)::用于存储科学计数法中的指数数据,并且采用移位存储【占8位】尾数部分(Mantissa):尾数部分【占23位】单精度float:N共32位,其中S占1位,E占8位,M占23位。因此小数点后最多精确到23/4=6位 。对于一个系统可能出现一些特别大的数和特别小的数,如果用定点表示就会很僵硬,位数一定就不能同时表达特别大的数和特别小的数。用科学计数法的方式可以写成1.23625*10^2,也可以写成12.625*10^1或1.111011101*2^6。。。。。为了规范,IEEE就规免费云主机域名定了32位浮点的格式如下(1)最高位是符号位,“0”代表正,“1”代表负。(2)接下来的8位是指数位,8位可表示整数的范围是0-255,考虑指数可以是负的,IEEE规定在上面的范围减去127,并将-127(全0)和128(全1)用做特殊值处理,所以指数的位的范围是(-127,128)。(3)最低的23位是小数位(尾数位),正常是可以表示23位的范围,但是IEEE规定小数点左侧必须为1,右侧位数不够补0。这样可以就可以省略1,可以用23位来表示24位。eg. 1.111011101*2^6中,小数位是111011101+补14个0科学计数法=1.111011101*26(整数部分:123=01111011b,小数部分:0.625=0.101b,整数部分除2取余,倒序排列,高位补零;小数部分乘2取整,顺序排列)符号位:0指数位:6+127=10000101小数位:11101110100000000000000即:01000010111101110100000000000000=0x42F7400042F74000=01000010111101110100000000000000,拆分为符号位、指数位、小数位。(1)符号位:0(2)指数位:10000101=133,实际指数=133-127=6(3)小数位:11101110100000000000000去掉后面的0、前面补1为1. 111011101即科学计数法表示为1. 111011101*26=(2^0+2^-1+2^-2+2^-3+2^-5+2^-6+2^-7+2^-9)*2^6=123.625。到此,关于“C#中32位浮点数Float实例代码分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: vue中如何修改数组

这篇文章主要介绍了vue中如何修改数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中如何修改数组文章都会有所收获,下面我们一起来看看吧。在vue中修改数组的方法有以下几种例数组结构如下:1.使用push()函数向数组尾部添…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/13 20:57
下一篇 02/13 20:57

相关推荐