四个字节的浮点数要比8个字节的整数类型大 举例说明

从基本数据类型中我们学到float所占的字节数与int相等,同样的double类型所占的字节数与long相等,那么为什么占用4字节的float要比占用8字节的long所表示的范围还要大呢。当然你也可能猜到了,可能是因为数据的存储形式不同。那么浮点类型和整形的存储形式有什么不同呢

对于单精度float来说一个float类型的数据所占位数为32位其中有一个符号位,指数8位,尾数数23位,
一个浮点数包括整数和小数两部分,当我们输入一个十进制的浮点数时例如30.3
首先先将整数部分转化成二进制,30的二进制为11110
其次是将小数部分转化为二进制,在这里转化成二进制的方式是将0.3*2=0.6,这里整数为0所以小数的第一位是0然后继续0.6 *2 =1.2,此时整数为1 所以我们取得小数第二位是1,然后再取小数0.2 2 =0.4 第三位取0,0.4 * 2=0.8 第四位取0,0.82=1.6 第五位取1 ,0.6 * 2=1.2 第6位取1,可以得到我们小数位为01001100110011…以0011循环
将整数与小数拼接11110.01001100110011在这里我们要转化成科学计数法1.11100100…E4,但是我们这里需要指数也进行二进制化也就是1.11100100…E100
到这里指数为0000 0100 也就是4
但我们在存储指数时规定需要加上0111 1111
也就是以1000 0011作为指数的数值来进行存储
在存储浮点数的时候存储的顺序为符号位 指数 尾数
对于双精度double类型来说
符号一位 指数11位 尾数52位
所以我们在存储指数的时候需要加上011 1111 1111
其他的操作与float类型相似
所以浮点数相比较于整数类型来说能够使用了指数的存储形式虽然准确程度不如整数类型,但是其数值的表达范围要远远大于整数类型。

基本数据类型是指Java语言中的基础数据类型,它们是Java编程中最基本的数据类型,也是最常用的数据类型Java中的基本数据类型包括整型、浮点型、字符型和布尔型。 1. 整型: 整型变量用于存储整数Java中的整型包括四种类型:byte、short、int、long。 - byte类型:占用1个字节,取值范围为-128到127,用于表示字节类型的数据。例如: ```java byte a = 100; byte b = -50; byte c = 0; byte d = 127; byte e = -128; ``` - short类型:占用2个字节,取值范围为-32768到32767,用于表示短整型数据。例如: ```java short a = 10000; short b = -20000; short c = 0; short d = 32767; short e = -32768; ``` - int类型:占用4个字节,取值范围为-2147483648到2147483647,是Java中最常用的整型类型。例如: ```java int a = 1000000; int b = -2000000; int c = 0; int d = 2147483647; int e = -2147483648; ``` - long类型:占用8个字节,取值范围为-9223372036854775808到9223372036854775807,用于表示较大的整数。例如: ```java long a = 10000000000L; long b = -20000000000L; long c = 0L; long d = 9223372036854775807L; long e = -9223372036854775808L; ``` 2. 浮点型: 浮点型变量用于存储浮点数Java中的浮点型包括两种类型:float、double。 - float类型:占用4个字节,有效位数为6~7位,用于表示较小的浮点数。例如: ```java float a = 3.14159f; float b = -1.23f; float c = 0.0f; float d = 1.234567890123456789f; float e = -1.234567890123456789f; ``` - double类型:占用8个字节,有效位数为15位左右,是Java中默认的浮点型类型,用于表示较大的浮点数。例如: ```java double a = 3.141592653589793; double b = -1.234567890123456789; double c = 0.0; double d = 1.234567890123456789; double e = -1.234567890123456789; ``` 3. 字符型: 字符型变量用于存储字符,Java中的字符型为char类型,占用2个字节,用于表示一个Unicode字符。例如: ```java char a = 'A'; char b = '中'; char c = '!'; char d = '\n'; char e = '\t'; ``` 4. 布尔型: 布尔型变量用于存储布尔值,Java中的布尔型为boolean类型,只有两个取值:true和false,用于表示逻辑值。例如: ```java boolean a = true; boolean b = false; boolean c = true; boolean d = (1 < 2); boolean e = (3 == 4); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值