[Java] byte & int

原创 2006年06月02日 14:54:00

在Java中操作byte类型变量需要遵循一些潜规则:

1. 赋值。
    byte x = 0x7F;   //~Right
    byte x = 0x80;   //~Wrong
    byte x = -0x80;  //~Right
    也就是说byte类型的变量取值范围是-128~127,下面两个式子是等效的:
    byte x = -0x01;
    byte x = (byte)0xFF;

2. 位运算。
    右移一律用符号位填充,因此>>和>>>是等效的。左移用0填充。
    含变量的位运算后结果为int类型,用符号位补足位数。
    纯常量的位运算在编译时判定赋值是否正确,参照1。

3. 算术运算。
    算术运算优先级高于位运算。
    含变量的算术运算后结果为int类型,用符号位补足位数。
    纯常量的算术运算在编译时判定赋值是否正确,参照1。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java7版本: switch语句支持String、Enum类型(JDK1.5)与原来byte、short、char和int.

在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。在Java7中,呼吁很久的String支持也终于被加上了。   例如,下面...

Java中int与byte数组转换详解

1、与运算符的理解(&):            参加运算的两个数据,按二进位进行“与”运算。如果两个相应的二进位都为1,则该位的结果值为1,否则为0。即 0&0=0;0&1...

java 中int与byte数组转换详解

1、与运算符的理解(&):      参加运算的两个数据,按二进位进行“与”运算。如果两个相应的二进位都为1,则该位的结果值为1,否则为0。即 0&0=0;0&1=0;1&0=0;1&1=1; 例...

java中一些int,String,byte的转换问题

int -> String int i=12345; String s=""; 第一种方法:s=i+""; 第二种方法:s=String.valueOf(i); 这两种方法有什么区别呢?作用...

Java中byte转换int时与0xff进行与运算的原因

java中byte转换int时为何与0xff进行与运算 在剖析该问题前请看如下代码  public static String bytes2HexString(byte[] b) {   S...

Java_byte转float/int为什么要&0xff

public static float getFloat(byte[] b) { int accum = 0; accum = accum|(b[0] & 0xff...

java int与byte【】之间的转换

这里简单记录下两种转换方式: 第一种: 1、int与byte[]之间的转换(类似的byte short,long型) [java] view plaincop...

java中int与byte的相互转换

我们都知道,JAVA中的基本数据类型有int,byte,char,long,float,double...,它们与引用数据类型很不一样,之所有在如此面向对象的JAVA语言中依然支持这些值类型,就是考虑...

[转]java中byte转换int时为何与0xff进行与运算

[转]java中byte转换int时为何与0xff进行与运算 在剖析该问题前请看如下代码 public static String bytes2HexString(byte[] b) {   S...

java中byte转换int时为何与0xff进行与运算

Java中的一个byte,其范围是-128~127的,而Integer.toHexString的参数本来是int,如果不进行&0xff,那么当一个byte会转换成int时,对于负数,会做位扩展,举例来...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)