- 浏览: 467303 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
在这里我们只谈论 java中的数值类型
首先说byte:
这段是摘自jdk中 Byte.java中的源代码:
从这里可以看出 byte的取值范围:-128 --- 127;
从计算机组成原理的角度可以解释:byte在计算机中是占8个字节的 而且byte 是有符号整形 用二进制表示时候最高位为符号位 0代表正数 1代表负数。
最大值:127 0111 1111 即2的7次方减去1;
最小值:-128 这个数字曾经困扰我很久, 要知道正数在计算机中是以原码形式存在的负数在计算机中是以其补码形式存在的,那么一个负数的补码是怎么计算的呢? 就是负数的绝对值的原码转为二进制再按位取反后加1,下边这个10和-10为例来介绍的 :10原码:0000 1010 它在计算机中的存储就是 0000 1010, 那么-10呢? 按照前面说的 算除其绝对值为10,转为二进制 0000 1010 按位取反 1111 0101 再加1后:1111 0110,此为-10补码 ,好的,计算机中的1111 0110就是代表-10了。
我们来看 -128 绝对值128的二进制表示:1000 0000 按位取反 0111 1111 加1后:1000 0000,也就是说 -128在计算机中的表示就是 1000 0000 了, 再来看一下-129 在计算机中的表示,绝对值129的范围已经超出了了byte的位数。
再有还可以通过
输出Byte的最大值和最小值。
综上所述 byte的取值范围只能是:-128 -- 127了 即 负的2的7次方到2的7次方减去1。
相应的 short 作为16位有符号整形,int作为32位有符号整形, long 作为64位有符号整形 都可以如上计算出 取值范围
char作为16位无符号整形 其范围为 0 -- 2的15次方 这无可争议
摘自 Character.java中的源代码:
float作为32位的浮点型:
摘自Float.java源码:
double 作为64为浮点型
Double.java源码:
首先说byte:
这段是摘自jdk中 Byte.java中的源代码:
/** * A constant holding the minimum value a <code>byte</code> can * have, -2<sup>7</sup>. */ public static final byte MIN_VALUE = -128; /** * A constant holding the maximum value a <code>byte</code> can * have, 2<sup>7</sup>-1. */ public static final byte MAX_VALUE = 127;
从这里可以看出 byte的取值范围:-128 --- 127;
从计算机组成原理的角度可以解释:byte在计算机中是占8个字节的 而且byte 是有符号整形 用二进制表示时候最高位为符号位 0代表正数 1代表负数。
最大值:127 0111 1111 即2的7次方减去1;
最小值:-128 这个数字曾经困扰我很久, 要知道正数在计算机中是以原码形式存在的负数在计算机中是以其补码形式存在的,那么一个负数的补码是怎么计算的呢? 就是负数的绝对值的原码转为二进制再按位取反后加1,下边这个10和-10为例来介绍的 :10原码:0000 1010 它在计算机中的存储就是 0000 1010, 那么-10呢? 按照前面说的 算除其绝对值为10,转为二进制 0000 1010 按位取反 1111 0101 再加1后:1111 0110,此为-10补码 ,好的,计算机中的1111 0110就是代表-10了。
我们来看 -128 绝对值128的二进制表示:1000 0000 按位取反 0111 1111 加1后:1000 0000,也就是说 -128在计算机中的表示就是 1000 0000 了, 再来看一下-129 在计算机中的表示,绝对值129的范围已经超出了了byte的位数。
再有还可以通过
System.out.println(Byte.MAX_VALUE); //最大值 System.out.println(Byte.MIN_VALUE); //最小值
输出Byte的最大值和最小值。
综上所述 byte的取值范围只能是:-128 -- 127了 即 负的2的7次方到2的7次方减去1。
相应的 short 作为16位有符号整形,int作为32位有符号整形, long 作为64位有符号整形 都可以如上计算出 取值范围
char作为16位无符号整形 其范围为 0 -- 2的15次方 这无可争议
摘自 Character.java中的源代码:
/** * The constant value of this field is the smallest value of type * <code>char</code>, <code>'\u0000'</code>. * * @since 1.0.2 */ public static final char MIN_VALUE = '\u0000'; /** * The constant value of this field is the largest value of type * <code>char</code>, <code>'\uFFFF'</code>. * * @since 1.0.2 */ public static final char MAX_VALUE = '\uffff';
float作为32位的浮点型:
摘自Float.java源码:
/** * A constant holding the largest positive finite value of type * <code>float</code>, (2-2<sup>-23</sup>)·2<sup>127</sup>. * It is equal to the hexadecimal floating-point literal * <code>0x1.fffffeP 127f</code> and also equal to * <code>Float.intBitsToFloat(0x7f7fffff)</code>. */ public static final float MAX_VALUE = 3.4028235e 38f; // 0x1.fffffeP 127f/** * A constant holding the smallest positive nonzero value of type * <code>float</code>, 2<sup>-149</sup>. It is equal to the * hexadecimal floating-point literal <code>0x0.000002P-126f</code> * and also equal to <code>Float.intBitsToFloat(0x1)</code>. */
public static final float MIN_VALUE = 1.4e-45f; // 0x0.000002P-126f
double 作为64为浮点型
Double.java源码:
/** * A constant holding the largest positive finite value of type * <code>double</code>, * (2-2<sup>-52</sup>)·2<sup>1023</sup>. It is equal to * the hexadecimal floating-point literal * <code>0x1.fffffffffffffP 1023</code> and also equal to * <code>Double.longBitsToDouble(0x7fefffffffffffffL)</code>. */public static final double MAX_VALUE = 1.7976931348623157e 308; // 0x1.fffffffffffffP 1023/** * A constant holding the smallest positive nonzero value of type * <code>double</code>, 2<sup>-1074</sup>. It is equal to the * hexadecimal floating-point literal * <code>0x0.0000000000001P-1022</code> and also equal to * <code>Double.longBitsToDouble(0x1L)</code>. */
public static final double MIN_VALUE = 4.9e-324; // 0x0.0000000000001P-1022
发表评论
-
java Romdom例子
2011-06-16 16:41 1887random.netInt()如果括号里 ... -
java 内部类详解(转)
2011-06-01 15:47 4964Java 内部类 分四种:成员内部类、局部内部类、静态内部类和 ... -
Fibonacci数列计算+找出出现次数最多字符+不同数字的排列组合
2011-05-26 15:40 20971,斐波拉契数列的计算 package chapter9; ... -
java中的System类中的方法
2011-05-24 11:00 994public final class System exten ... -
java可视化显示内存使用情况
2011-05-20 16:03 2588package memoryManage; /* * ... -
java 界面swing之表格
2011-05-20 13:39 6529package othertest; import ja ... -
java的队列和栈的一些api
2011-05-16 11:31 1694类 Stack<E> java.lang.Obje ... -
JAVA 中一些api(字符字符串缓冲,URL类,Math类方法,正则表达式)
2011-05-12 10:36 1736CharBuffer字符缓冲区, StringBuffer字符 ... -
java applet 一个简单的例子(applet+html)
2011-05-09 16:49 4156java applet是一个类,其层次结构如下图: 类 JAp ... -
java 核心技术(数组(杨辉三角),散列码,对象拷贝,枚举类型,定时器)
2011-05-04 10:43 1560数组java中无多维数组,都是一维数组,多维数组可以看做是数组 ... -
设计模式总结
2011-04-26 16:50 869对于GoF总结的经典的23中设计模式,分为3类: (1)创建型 ... -
猜数字游戏
2011-04-12 17:27 1177package guessNumber; import ... -
Comparator实现排序
2011-04-01 14:13 8649在java.util包中有一个Collections类,里面实 ... -
21天学会java(含电子书下载)
2011-03-15 16:12 253221天学通java 比较基础 第一天 创建简单applicat ... -
理解浮点数存储
2011-03-15 09:44 987整体呈现 二进制浮 ... -
java.lang.UnsatisfiedLinkError解决办法
2011-03-10 16:59 1175实质上就是Eclipse下配置jdk,jre环境的问题 win ... -
java string,stringbuffer区别例子
2011-01-11 14:44 1361public class test_3 { public ... -
java定时器的使用
2011-01-11 09:20 1448有时需要在一定时间段后,执行某一个操作 java中现有的Ti ... -
对象简单克隆clone和引用(转)
2010-12-15 17:02 869对象克隆,返回和原对 ... -
java applet例子---图片像素处理
2010-12-07 17:01 1920package applet; import java. ...
相关推荐
在计算机科学中,数据通常以二进制形式存储,其中浮点数(如float和double)是用于表示小数的常见类型。浮点数在内存中的表示方式遵循特定的标准,如IEEE 754。当你从一个4字节的数据块(通常代表一个32位整数)转换...
本文将详细探讨C#中的数据类型转换,特别是关于BYTE, float, double和char之间的转换方法。 首先,我们要理解C#中的基本数据类型和它们的别名。例如,`int`实际上是`System.Int32`的别名,`float`是`System.Single`...
在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等场景下。下面将详细介绍如何进行这些...
基本数据类型包括整型(如`byte`, `short`, `int`, `long`)、浮点型(`float`, `double`)、字符型(`char`)和布尔型(`boolean`)。引用数据类型则包括类(class)、接口(interface)和数组,它们指向对象的内存...
这个项目是李小瓜在学习arduino的第一个实践项目,本来想通过完成这个项目实现arduino入门,但往往现实是自己后来没有去实现它,这个项目投入时间和资金都不少,怪自己没有坚持到最后,最近整理一下,希望能和一起...
- **基本数据类型** 包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。 - **引用数据类型** 包括类、接口和数组,它们都是对象的引用,而不是对象本身。 ### ...
例如,一个byte类型的变量与另一个byte类型的变量相加时,它们在计算过程中都会被提升为int类型,即使结果仍然在byte的范围内,也必须通过强制类型转换才能将其赋值回byte类型。 了解这些基本概念对于编写有效的...
在给定的压缩包文件中,重点讲述了`LongInt`、`Float`和`Double`这三种数值类型与字节数组之间的转换。这里我们将详细讨论这些转换的过程以及其在实际应用中的意义。 首先,`LongInt`是表示32位整数的数据类型,...
2. **隐式转换**:当`int`值赋给`float`变量时,Java会自动进行隐式转换,但同样可能导致精度损失: ```java int intValue = 10; float floatValue = intValue; // 隐式转换 ``` 3. **浮点数运算**:在进行`...
基本类型是 Java 中的八种基本类型,包括 byte、short、int、long、float、double、char 和 boolean。这些类型的变量直接存储值,例如 int a = 250;这里的 a 变量直接存储整数 250。 引用类型是一种对象类型,包括...
- `byte(BYTE)` 类型的变量以 `by` 开头,如 `byFlag`。 - `short(int)` 类型的变量以 `n` 开头,如 `nStepCount`。 - `long(LONG)` 类型的变量以 `l` 开头,如 `lSum`。 - `char(CHAR)` 类型的变量以 `c` 开头...
基本类型包括byte、short、int、long(整型),float、double(浮点型),char(字符型)和boolean(布尔型)。这些类型的变量直接存储其值,占用固定大小的内存空间。引用类型则包括类、接口、数组等,它们的值实际...
Java中有八种基本数据类型:byte、short、int、long、float、double、char和boolean。每种类型的变量都有其特定的定义和赋值方式。例如,可以定义byte类型的变量并赋值为1,short类型的变量赋值为2,以此类推。注意...
在赋值时,float类型变量的数值后面需要加“F”或“f”,double类型可以加“D”或“d”,也可以不加。浮点数可以表示带有小数的数值,如科学记数法E表示的指数形式。 另外,字符类型变量(char)在JAVA中用单个英文...
【C#数据类型与变量】是编程学习中的基础部分,主要涵盖了C#语言中用于存储数据的不同类别以及如何声明和...通过这样的实验,可以直观地理解不同类型数据的存储需求和取值范围,有助于在实际编程中合理选择和使用变量。
- **8大基本数据类型**: `byte`, `short`, `int`, `long`, `float`, `double`, `char`, `boolean` - **引用数据类型**: - 类 (`class`) - 接口 (`interface`) - 数组 (`[]`) - 字符串 (`String`) - **注意事项...
- 浮点型(float, double):0.0f, 0.0d - 字符型(char):'\u0000' (空字符) - 布尔型(boolean):false - 引用类型(对象):null 如果需要在创建对象时给实例变量赋予特定的初始值,可以使用构造器或实例初始...
Java 语言中有两种浮点数类型:float 和 double。其中 float 是单精度型,占用 32 位内存空间,而 double 是双精度型,占用 64 位内存空间。 * Float:32 位单精度浮点数,根据 IEEE754-1985 标准。 * Double:64 ...
变量可理解为内存中的小容器,它们用于存储各种类型的数据。这些数据可以是整数、小数、字符或者字符串等。理解变量的定义、使用规则以及计算机内存的存储机制对于编程至关重要。 1. **变量概述** 变量是一种动态...
//定义一个byte类型的变量 short largestShort=Short.MAX_VALUE;//定义一个short类型的变量 int largestInteger=Integer.MAX_VALUE;//定义一个int类型的变量 long largestLong=Long.MAX_VALUE;//定义一个long...