什么是浮点型?什么是单精度浮点数(float)以及双精度浮点数(double)?
前言
作为一名java学习者,怎能不懂这些java基础中的基础呢?本文就带各位温顾温顾java浮点型、单精度浮点数、双精度浮点数。
浮点型
首先明确java中浮点型数据类型主要有:单精度
float
、双精度double
至于浮点型就是跟
int
,string
类型差不多。都是数据类型。
浮点型浮点型别给我整些花里胡哨的定义,浮点型简单来说就是表示带有小数的数据,而恰恰小数点可以在相应的二进制的不同位置浮动,可能是这样就被定义成浮点型了。不得不佩服这文化程度,定义个数据名称都这么有深度
浮点型常量 Java的实常数有两种表示形式:
1、 十进制数形式:由数字和小数点组成,且必须有小数点,如
0.123
,123.0
2、科学计数法形式:如:
123e3
或123E3
,其中e
或E
之前必须有数字,且e或E后面的指数必须为整数(当然也包括负整数)。
科学计数法中的E
了解浮点型常量 Java的实常数有两种表示形式之后,很有必要给各位科普科普下科学计数法中E
的面貌了~
E
是指数的意思,E
代表的英文是exponent
,E
表示10的多少次方的意思。比如
7.823E5 = 782300
这里E5
表示10的5次方,再比如54.3E-2 = 0.543
这里E-2
表示10的-2次方
再补充一点(针对负次方理解)
一个数的负几次方就是这个数的几次方的倒数。
比如: 2的负1次方=2的1次方分之一=
1/2
比如: 3的负2次方=3的2次方分之一=
1/9
单精度浮点数(float)
单精度浮点数在机内占
4
个字节、有效数字8
位、表示范围:-3.40E+38 ~ +3.40E+38
在Java语言当中,所有的浮点型字面值 【V8提示】浮点型简单来说就是表示带有小数的数据 默认当做double
类型来处理,要想该字面值当做float
类型来处理,需要在字面值后面添加F/f
,或者强制装换为float
。具体如下代码:
public static void main(String[] args) {//3.10是浮点型,浮点型字面值默认当做double类型来处理,直接编译通过;double d=3.10;//3.10是浮点型,则必须加 F或者f,若没加,直接编译不通过,会报错“损失精度” float f=3.10; //编译出错会报错“损失精度”// 解决办法:// 第一种方式:强制类型转换float f1=(float)5.1;// 第二种方式:没有类型转换;folat f2=5.1f;}
再来看看下面的测试,结果肯定十之八九会在意料之外,哈哈~
public static void main(String[] args) {float a = 12345678.90123456789f;double b=0.12345678901234567890;float c=0.12345678901234567890f;System.out.println(a);System.out.println(b);System.out.println(c);打印结果a = 1.2345679E7b = 0.12345678901234568c = 0.12345679}
双精度浮点数(double)
双精度浮点数在机内占
8
个字节、有效数字16
位、表示范围:-1.79E+308 ~ +1.79E+308
double
的精度太低,不适合用于做财务软件,财务涉及到钱的问题,要求精度较高,所以在java中有一个基础的类库名为:java.math.BigDecimal
,但这个BigDecimal
类型是引用类型不是基础类型,切记!!!
在讲单精度浮点数(float
)的时候,差不多顺道把double
之间的区别讲了哈哈,所以最后给张很经典的图片“敷衍敷衍”下,哈哈哈 哎哎哎…别打…别打…别打脸QAQ
想深入了解浮点数在计算机中存储方式可以参考这篇文章
浮点数在计算机中存储方式
什么是浮点型?什么是单精度浮点数(float)以及双精度浮点数(double)?相关推荐
- 单精度浮点数 float、双精度浮点数 double
3.3 浮点数表示法 内容导视: 小数对应的二进制 科学计数法 浮点数表示法 最大值.最小值 特殊值 3.3.1 小数对应的二进制 之前漏掉了小数对应的二进制,现补上. 二进制转十进制 从个位数开始向 ...
- 输入一个字符,一个数字,一个单精度浮点数,一个双精度浮点数,按顺序输出它们四个 且数字指定占4个字符宽靠右对齐,单精度浮点数保留2位小数,双精度保留12位小数,占一行输出、空格分隔
1810: 输入一个字符,一个数字,一个单精度浮点数,一个双精度浮点数,按顺序输出它们四个 且数字指定占4个字符宽靠右对齐,单精度浮点数保留2位小数,双精度保留12位小数,占一行输出.空格分隔 #in ...
- c语言的双精度浮点数,什么是双精度浮点数
问题一:什么是单.双精度浮点数浮点就是小数点位置不确定,比如123.43,6557.521.在C语言中,一般单精度数据类型比如int,数据的范围是2的31次方,而双精度类型的整型比如long int的 ...
- 单精度(float) 双精度 (double) 区别
含义:表明单精度和双精度精确的范围不一样. 单精度,也即float,一般在计算机中存储占用4字节,也32位,有效位数为7位: 双精度(double)在计算机中存储占用8字节,64位,有效位数为16位. ...
- 单精度浮点数存储、双精度浮点数存储
单精度浮点数存储 其中最高位为符号位S:0代表 +,1代表-,E为指数位,M有有效位 例如: 那如果此时我的指数是一个负数呢? 这里IEEE还有特别规定: 有效数字M: M可以写成1.×××,其中×× ...
- c语言里单精度浮点数和双精度浮点数的区别
单精度浮点数(float)和双精度浮点数(double)在C语言中是两种不同类型的数据.单精度浮点数占用4个字节的空间,精度范围在67位左右:双精度浮点数占用8个字节的空间,精度范围在1517位左右. ...
- scanf 输入双精度浮点数
%f是但进度浮点数的格式双精度浮点数应用%lf,改一下就行了 因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的 #include <s ...
- 什么是java双精度浮点数_什么是浮点型?单精度浮点数(float)和双精度浮点数(double)介绍...
作为一名java学习者,怎能不懂这些java基础中的基础呢?本文就带各位温顾温顾java浮点型.单精度浮点数.双精度浮点数. 浮点型首先明确java中浮点型数据类型主要有:单精度float.双精度do ...
- java中单精度浮点数和双精度浮点数_什么是浮点型?单精度浮点数(float)和双精度浮点数(double)介绍...
作为一名java学习者,怎能不懂这些java基础中的基础呢?本文就带各位温顾温顾java浮点型.单精度浮点数.双精度浮点数. 浮点型首先明确java中浮点型数据类型主要有:单精度float.双精度do ...
最新文章
- mysql中的输出,mysql-将输出结果作为SQL中的列
- 2011年复活节慕尼黑及其周边游之四-新天鹅堡
- MySql中怎样使用case-when实现判断查询结果返回
- 深入理解ElasticSearch(七):执行分布式检索
- python里pip是什么意思_python使用pip的方法是什么
- 蓝牙耳机音量大解决办法_长时间使用蓝牙耳机的危害这么大?我们到底该选什么蓝牙耳机呢?...
- 这样学习JAVA 基础才能又快又稳!
- mysql 搜索不等于_Mysql索引分类
- android touch事件坐标原点,图解Android:Touch事件传递机制
- Huawei is developing a new future technology
- android 计算圆周率方法,android Math的使用
- 现代语音信号处理之线性预测分析
- linux怎么重启samba服务器,Linux系统怎么重启Samba服务
- 基于C++和QT开发的校园超市库存物资管理系统
- 雷达原理(第五版)常见公式
- eclipse debug 多线程
- 全景krpano相关问题解答
- wget下载到一半断了,重连方法
- endnote添加引文格式
- 输入一个非负整数,正序输出它的每一位数字
热门文章
- 大数据创业的未来到底如何?
- java使用递归,复制文件夹下的所有子文件
- 计算机组成原理最难的是,计算机组成原理最后冲刺重难点梳理_跨考网
- sklearn.neighbors.KNeighborsClassifier()函数解析
- Redis布隆过滤器与布谷鸟过滤器
- python获取cpu温度_Python如何读取CPU和GPU的温度?
- led照明灯哪个牌子的比较好?质量超好的LED护眼台灯推荐
- 中青报X牛客 “百校百企”青年就业扶持计划在京启动,共商青年就业蓝图
- Learning Shape Representations for Clothing Variations in Person Re-Identification
- 数据库系统原理期末复习