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

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

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

并且

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

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

fb13e48c7fa57f290c51bc38bb5c5823.png

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

f01ffe277d9aabe879d72304bd514760.png

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

0e69758c463631e7b0c1eab087ff5163.png

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

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

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

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

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

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

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

那么为什么没有基数?

这里需要注意的两点有

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值