• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C#学习日记06—数据类型 之 浮点数类型

c# 搞代码 4年前 (2022-01-09) 14次浏览 已收录 0个评论

数值类型之浮点数类型:

在我们的日常生活中不

本文来源gao!%daima.com搞$代*!码网1

仅有整数 ,还存在小数,在C#中小数有2种数据类型来表示 (单精度)float 、(双精度)double。

他们的差别在于取值范围与精度不同,计算机对浮点数的运算速度大大低于对整数的运算速度,对double型的运算速度低于对float的运算速度,如果在程序中大量的使用双精度类浮点数,将会占用更多的内存单元,而计算机的处理任务也会更加繁重,但是用double类型的结果相对于float会更加精确,因此在对精度 要求不是很高的情况下我们可以采用float 类型。

单精度(float)类型: 取值范围在正负 1.5*10^-45 到 3.4*10^38 之间,精度为7到8位数字;

双精度(double)类型: 取值范围在正负 5.0*10^-324 到 1.7*10^308 之间 精度为15到16位数字;

我写个程序来区分下:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace Example  {      class Program      {          static void Main(string[] args)          {//同一类型在同一行定义时 用 , 分开                float a = 3.0f,b = 10.0f;  //这里注意定义float时 加上f/F  应为默认小数是double类型              float c = b / a;        //相除               double d = 3.0, e = 10.0;              double f = e/d;              Console.WriteLine("float c={0}\ndouble f={1}",c,f);  //输出  "\n"  表示换行              }      }  }

结果对比:

本着求实精神我认真数了一下 float 的结果有8位其中7位是数字;double 的结果有16位其中15位是数字3;

本着反思的态度我又反思到了float 与double 的属性,float 的范围不是在 正负 1.5*10^-45 到 3.4*10^38 之间 的吗?至少可以表示38位数字啊,这才7位, double 至少可以表示300多位数字啊,这才16位,我写的是 10/3 结果应该有38个3,或 300多个3 才对啊???为什么???是不是 在第9位与 第 17位的时候四舍五入了? 我又 写了如下代码:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace Example  {      class Program      {          static void Main(string[] args)          {                float a = 3.333334444333333f;  //第8位(小数点也算一位)开始是4,第9位是4                            double d = 3333333333333.3455555544;  //第16位是4,17位是5                            Console.WriteLine("float c={0}\ndouble f={1}",a,d);  //输出  "\n"  表示换行              }      }  }

结果是这样:

果然在float 的第8位是4舍去变为了0省略掉,double 的第16位本来是4,由于17位是5所以加1,后面为0省略。。

以上就是C#学习日记06—数据类型 之 浮点数类型的内容,更多相关内容请关注搞代码(www.gaodaima.com)!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C#学习日记06—数据类型 之 浮点数类型

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址