就像人们十分熟悉的十进制无法精准地表示π和e一样,任何进制的数都无法完全精确地表示自然界中所有的“数”.但只要选择足够的精度,这些不精准的表达并不影响人们的生活和科学研究!小数在计算机中是用二进制“浮点”表示法表示的,有单精度(C/C++中的float型)和双精度(double型)之分;前者能达到24位二进制精度,后者能达到53二进制精度.通常这个精度已经足够足够了.浮点表示法是把一个数分为尾数和阶码两部分,尾数用原码、阶码用所谓移码来表示.以float型为例,尾数用23位、阶码用8位,1位用于符号,如十进制0.1,float二进制应该是0 01111100 10011001100110011001100.它的最高位是尾数符号,0表示正;紧接着的8位是阶码,阶码最高位的0表示阶码的移码为负,后面7位是阶码的补码;再后面23位是尾数.要说明的是尾数的最位1没有显示,因为规定尾数是大于1小于2的二进制数,最高位肯定是1,就不必显示了,计算时用上就是了;这就是23位二进制尾数却能表示24位精度的原因……
既然0.1无法用二进制表示,那计算机用什么办法表示小数的?
1个回答
相关问题
-
若用八位二进制表示一整数,则-4在计算机中的表示
-
用二进制加法表示 101+101=__________ 用二进制表示
-
二进制数0.10101111和1.1110001相加等于多少?用二进制数表示结果.求详细步骤
-
写出二进制数+0.0011011的浮点的表示形式和在计算机中的表示格式.
-
计算机组成原理四.应用题 1.求十进制数-113的原码表示,反码表示,补码表示和移码表示(用8位二进制表示,并设最高位为
-
中文标点符号“,”在计算机中是用多少个二进制位表示的.
-
用8位二进制数表示数"- 1"的补码为11111111
-
未知数用X表示 那已知数用什么表示?
-
没有办法清点,无法计算 表示什么词语?
-
微型计算机中1KB表示的二进制位数是_____?