考试也要结束了,那些想学习编程的人想学习C语言的人,也可以开始行动了。我会每天更新一篇文章,用来讲解c语言中隐匿的知识点,一些极其重要,却很少被入门学习者学习到的知识点。假如看了我的文章后还有些的地方不太了解的都可以关注我,然后私信问我,我会做有空的时候给你解答,下面开始进入正题。
前面在介绍整型做内存里怎么存储的时候说到了,计算机只认识二进制,然而把小数换成二进制放到内存里,需要的字节也大的吓人。所以就用科学计数法来存储的,也叫浮点数
并且
c语言的标准规定了,小数在内存里要以科学计数法存储。
什么是科学技术法这里简单举几个例子。
这里把十进制转换成二进制然后再转换成科学计数法。(关于进制之间的转换 我决定再另外写一篇文章讲解。)
科学计数法就是要把数字转换成:
小数:你需要表示的小数。
正负号:顾名思义‘-’或者‘+’ 。
尾数:小数点前面只可以有一位数字也一定要有一个数字,也表示这小数的精度。
基数:也是你所需要表示的进制数的进制,上面的例子可以看出来。
指数:整数,(更加简单点理解就是,在转换的时候小数的小数点做变成尾数标准的情况下,小数点移动的位数。)
我们存入内存就只要把符号位,尾数,指数存储进去就可以了。
以float做示范 它会用一个位存储符号位,8位存储指数,23位存储尾数。
那么为什么没有基数?
这里需要注意的两点有
我们尾数存储的并不是1.0011101,以为小数点左边必然会是一个1,所以我们尾数存储的只是后面的0011101。
数据在计算机里面只能是二进制所以,基数也就没必要多此一举的存储了。
现在也讲完了。如果觉得我的内容还可以,可以收藏,收入,关注,转发,评论。
如果看完还有不明白的可以私聊我。
网友评论