- 浏览: 232780 次
文章分类
- 全部博客 (160)
- java语言基础 (67)
- jsp基础 (2)
- eclipse使用 (2)
- java源码解读 (6)
- 计算机基础 (3)
- eclipse插件 (0)
- 网络基础 (8)
- 算法 (2)
- linux (0)
- 英语 (0)
- C语言 (4)
- JavaScript (17)
- 数学 (0)
- struts2 (2)
- 自然哲学 (0)
- Servlet (1)
- HttpServer (2)
- ext (1)
- 个人 (1)
- dojo (27)
- spring (2)
- hibernate (4)
- css (3)
- 多线程 (0)
- chrome插件开发 (0)
- svn (0)
- thrift (2)
- phonegap (1)
- java线程 (1)
- 不是很熟悉的css属性 (0)
- 数据库性能调优 (0)
- 项目管理 (1)
- ios (0)
- 软件工程 (0)
- db2 (0)
- 词汇管理 (0)
- zhenyan (0)
- 计划 (0)
- android (0)
- ssss (0)
- 是的 (0)
- dsada (0)
- 泛点是 (0)
- fds (0)
- cxzc (0)
- 权限 (0)
- dfsfds (0)
- http://www.cnblogs.com/kingboy2008/p/5261771.html (0)
- sss (0)
- ddd (0)
- fdsfdsf (0)
- sso (0)
- nginx (0)
- 分布式数据一致性 (0)
- mysql (0)
- ios永久存储 (0)
- js匿名函数 (0)
- 打印机qqq (0)
最新评论
public class Test { public static void main(String[] args) { int start = -131; int end = 131; for (int i = start; i < end; i++) if ((byte) i != i) System.out.println("原数:" + i + "\t转化后:" + (byte) i); } }
程序运行结果如下:
原数:-131 转化后:125 原数:-130 转化后:126 原数:-129 转化后:127 原数:128 转化后:-128 原数:129 转化后:-127 原数:130 转化后:-126
为什么会出现这种情况呢?
因为Java中byte是用8位来存储,只能表示-128~127之间的数,当由int强制类型转化为byte时,系统就采取了截取int后8位的做法。
//java采用补码存储整数,int型为32位,byte为8位 //那么130在内存中的表示形式:00000000 00000000 00000000 10000010 //这样截取后8位就变成10000010,补码表示的时候第一位是符号位,0正1负, //所以可以知道10000010肯定是一个负数了,再来看它的数值部分, //补码由正数变负数,还是正数变负,方法:“按位取反,再加1”, //所以0000010应该变为1111101 + 1 = 1111110(即126) //又因为是负数,所以就截取变成-126了 //我们再来看下-130的例子(符号位是1,其余按位取反+1) //-130在内存中的表示形式:11111111 11111111 11111111 01111110 //这样截取后8位就变成01111110 //显然这是整数啊,然后数值部分是126 //64+32+16+8+4+2=126
发表评论
-
mysql并发
2013-01-08 13:38 0/** * 测试msql JDBC连接并发安全性 ... -
java注解2
2013-01-06 22:02 1008由前一篇的代码,运行代码如下:public clas ... -
java注解1
2013-01-06 21:56 944本文演示java注解的使用 1. getDe ... -
Java集合框架分析
2012-08-29 21:28 01. Java集合整体框架 下面的两张图说明 ... -
AbstractList
2012-08-29 20:48 976public abstract class Abstra ... -
Set
2012-08-28 11:17 677public interface Set<E> e ... -
List源码
2012-08-28 11:15 1003public interface List<E&g ... -
Collection源码
2012-08-28 11:13 938public interface Collection< ... -
java集合框架
2012-08-28 10:39 0java的集合框架中,主要有3类常用的集合。 -
web的debug
2012-03-29 10:48 0hh -
文件读取
2012-03-10 19:32 0public class Util { publ ... -
HTML元素的访问
2011-11-30 09:31 0有3忠方法可以访问html中的元素。 -
Schema数据类型
2011-11-26 16:34 0Schema不仅内置了丰富的数据类型,而且还允许开发者 ... -
初学XML3
2011-11-26 10:08 0编写了XML Schema语义约束之后,必须将其导入目 ... -
初学XML2
2011-11-26 09:22 817<?xml version="1.0& ... -
初学XML
2011-11-26 08:50 883<?xml version="1.0&q ... -
JavaScript字符串
2011-11-19 21:29 916JavaScript有三种基本数据类型,字符串,数字以 ... -
项目管理
2011-11-05 22:39 0项目管理开始于项目计划阶段,贯穿于整个系统开发生命周期 ... -
项目可行性分析
2011-11-05 21:23 0项目可行性包括三个方面:技术可行性,经济可行性,组织 ... -
系统开发生命周期
2011-11-05 21:16 0系统开发生命周期有四个4个基本阶段: 计划- ...
相关推荐
在 C# 中,强制类型转换是通过使用关键字 `(int)` 实现的,而不是使用 `Int32.Parse()` 或 `Convert.ToInt32()`。 在 C# 中,`int` 是一个关键字,表示 32 位有符号整数,它对应于 .NET Framework 中的 `System.Int...
在Java编程语言中,强制类型转换是将一个数据类型转换为另一个兼容的数据类型的过程。这通常发生在处理不同类型的变量或对象之间需要交互的情况。在Java中,有两种类型的转换:自动类型转换(隐式转换)和强制类型...
Java 中有两种主要的类型转换方式:自动类型转换(Automatic Type Conversion)和强制类型转换(Explicit Type Conversion)。下面我们将深入探讨这两种类型转换,以及它们在实际编程中的应用。 一、自动类型转换 ...
本篇文章将详细探讨Java中的强制类型转换,这是Java编程中不可或缺的知识点。 Java的类型系统分为两大类:基本类型(如int、char、boolean等)和引用类型(如类、接口实例)。在进行类型转换时,Java有自动类型转换...
要将一个`BYTE`转换为其他基本类型,你可以直接赋值或使用强制类型转换运算符 `(type)`。例如,将`BYTE`转换为`int`: ```cpp BYTE byteValue = 123; int intValue = byteValue; //隐式转换 int intValue2 = ...
数据类型-强制类型转换”主要探讨了Java中的数据类型转换,特别是强制类型转换。 1. 基本数据类型: - 整型:byte(1字节),short(2字节),int(4字节),long(8字节) - 浮点型:float(4字节),double(8...
在这个主题中,我们将讨论大数转小数的强制类型转换,例如int类型转short类型。 大数转小数的强制类型转换规则 ----------------------------- 在Java中,大数转小数的强制类型转换中,多出的高位部分会被截断。...
// 直接强制类型转换 ``` 2. 模运算:在描述中提到了 `%255`,这是为了将 `int` 值对255取模,确保结果在 `0` 到 `255` 的范围内。这种方法适用于 `int` 值是非负的情况,但不能处理负数。 ```c int intValue = ...
在Java编程语言中,强制类型转换是将一个数据类型转换为另一个数据类型的语法操作。这通常发生在需要将数值从精度较高的类型转换为精度较低的类型,或者在处理对象时需要明确指定子类对象为父类类型的情况。在“java...
用强制类型转换:int i = (int) aByte, 比如:若aByte=0xff(即数值为-1)。则转化为int后。i为0xffffffff。数值仍为-1。 2)保持低字节中各个位不变,3个高字节所实用0填充 应用场景:编解码操作, ...
自动类型转换 隐式类型转换 – 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。 转换规则 从存储范围小的类型到...强制类型转换 显式
本文介绍了 Java 中的自动类型转换和强制类型转换的方法。 自动类型转换是指不需要书写代码,由系统自动完成的类型转换。这种转换的规则是从存储范围小的类型到存储范围大的类型。具体规则为:所有的 byte、short、...
在Java编程语言中,强制类型转换是将一个数据类型转换为另一个不兼容的数据类型的过程。这种转换通常是必要的,因为Java是一种静态类型的语言,它要求在编译时就确定变量的类型。然而,有时我们可能需要将一个对象从...
在标题"Cnic.Convert.rar_byte_数据类型转换"中,我们可以看出这是关于在Java或者其他类似语言中进行数据类型转换的一个资源,特别是涉及`Int`、`Byte[]`和`Long`之间转换的方法。描述中提到的“位移”方法是一种...
在Java中,数据类型转换分为自动类型转换和强制类型转换。 1. 自动类型转换(隐式转换) 自动类型转换是指编译器根据上下文自动将数据从一种类型转换为另一种类型,只要转换不会导致数据丢失或溢出。在Java中,当...
类型转换分为两种主要类型:自动类型转换(Automatic Type Conversion)和强制类型转换(Forced Type Conversion,也称显式类型转换)。 3.9.1 Java的自动转换 自动类型转换发生在源类型的数据可以直接安全地转换...
- byte、short、char可以相互转换,但是转换到容量大的类型(如int)时需要强制类型转换。 - int、long、float、double之间的转换也遵循类似的规则。 5. 引用数据类型的转换 对于对象引用类型的转换,需要注意的是...
对于`byte`、`short` 和 `char` 这三种类型来说,它们之间不存在自动类型转换关系,但可以通过强制类型转换实现转换。 **示例代码**: ```java short short1 = 50; byte b1 = (byte) short1; // 强制类型转换 char ...
C++的数据类型转换包括静态类型转换(static_cast)、动态类型转换(dynamic_cast)、强制类型转换(C-style cast)和const_cast。这些转换在处理多态性和内存管理时非常有用。对于时间戳,C++标准库没有直接提供...