注释 JDK JRE JVM 基本数据类型 强制类型转换 单精度与双精度

一 注释

单行注释

//

多行注释

/*

*

*/

文档注释

/**

*

*

*/

二 JDK , JRE , JVM的区别

               

 

 

 

 三 基本数据类型(8个)

  整型:

  byte   1个字节  二进制位8位  00000001  -128~127  1byte = 8bit  默认值:0

  short  2个字节  二进制位16位  是int的二分之一

  int    4个字节  二进制位32位

  long   8个字节  二进制位64位  long l1 = 10L;

  字符型: 

  char  2个字节    c = 'a';

  浮点型:

  float  4个字节    f1 = 1.1f;  //单精度

  double 8个字节  d1 = 2.2;  //双精度

  布尔型:

  boolean 1个字节  b2 = true;

 

 

 

 

强制类型转换的时候 , 如果超过了范围他就会倒回去,重新开始算,比如:

 

 

 

输出的是    -56

 

  • 单精度与双精度 

 

 

 

 

 float精确度是7位,12.34567是精确的,12也占位

 

单精度和双精度单精度数(float)是指计算机表达实数近似值的一种方式。VB中Single(单精度浮点型)变量存储为IEEE 32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。双精度浮点数(double)是计算机使用的一种数据类型,使用 64位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:2.23x10-308 ~1.79x10308。IEEE754为其定制标准 单精度和双精度区别:单精度和双精度的字节数不同。前者占4个字节;后者占8个字节。单精度是这样的格式,1位符号,8位指数,23位小数。

 

 单精度是这样的格式,1位符号,8位指数,23位小数。

 

 

 

双精度是这样的格式,1位符号,11位指数,52位小数。

 

它们都分成3部分,符号位,指数和尾数。不同精度只不过是指数位和尾数位的长度不一样。

解析一个浮点数就5条规则

  1. 如果指数位全零,尾数位是全零,那就表示0
  2. 如果指数位全零,尾数位是非零,就表示一个很小的数(subnormal),计算方式 (−1)^signbit × 2^−126 × 0.fractionbits
  3. 如果指数位全是1,尾数位是全零,表示正负无穷
  4. 如果指数位全是1,尾数位是非零,表示不是一个数NAN
  5. 剩下的计算方式为 (−1)^signbit × 2^(exponentbits−127) × 1.fractionbits
posted @ 2022-01-06 19:01  Nickeyhu  阅读(287)  评论(0编辑  收藏  举报