美文网首页C语言C++
怎么学C语言,小数在内存中怎么存储,你以为是只是教科书上说的那些

怎么学C语言,小数在内存中怎么存储,你以为是只是教科书上说的那些

作者: 明江带你学c语言 | 来源:发表于2018-06-08 22:06 被阅读7次

    考试也要结束了,那些想学习编程的人想学习C语言的人,也可以开始行动了。我会每天更新一篇文章,用来讲解c语言中隐匿的知识点,一些极其重要,却很少被入门学习者学习到的知识点。假如看了我的文章后还有些的地方不太了解的都可以关注我,然后私信问我,我会做有空的时候给你解答,下面开始进入正题。

    前面在介绍整型做内存里怎么存储的时候说到了,计算机只认识二进制,然而把小数换成二进制放到内存里,需要的字节也大的吓人。所以就用科学计数法来存储的,也叫浮点数

    并且

    c语言的标准规定了,小数在内存里要以科学计数法存储。

    什么是科学技术法这里简单举几个例子。

    这里把十进制转换成二进制然后再转换成科学计数法。(关于进制之间的转换 我决定再另外写一篇文章讲解。)

    科学计数法就是要把数字转换成:

    小数:你需要表示的小数。

    正负号:顾名思义‘-’或者‘+’ 。

    尾数:小数点前面只可以有一位数字也一定要有一个数字,也表示这小数的精度。

    基数:也是你所需要表示的进制数的进制,上面的例子可以看出来。

    指数:整数,(更加简单点理解就是,在转换的时候小数的小数点做变成尾数标准的情况下,小数点移动的位数。)

    我们存入内存就只要把符号位,尾数,指数存储进去就可以了。

    以float做示范 它会用一个位存储符号位,8位存储指数,23位存储尾数。

    那么为什么没有基数?

    这里需要注意的两点有

    我们尾数存储的并不是1.0011101,以为小数点左边必然会是一个1,所以我们尾数存储的只是后面的0011101。

    数据在计算机里面只能是二进制所以,基数也就没必要多此一举的存储了。

    现在也讲完了。如果觉得我的内容还可以,可以收藏,收入,关注,转发,评论。

    如果看完还有不明白的可以私聊我。

    相关文章

      网友评论

        本文标题:怎么学C语言,小数在内存中怎么存储,你以为是只是教科书上说的那些

        本文链接:https://www.haomeiwen.com/subject/grrzsftx.html