导航:首页 > 编程语言 > javabytetointeger

javabytetointeger

发布时间:2022-04-27 21:04:35

㈠ 将byte转换成int ,java中是怎样实现的.

你好,在java中由于byte的数值范围,在int的范围之内,也就是说int完全容纳byte的所有值

所以byte转int在java中,是完全按byte值来直接赋给int变量,不存在你说的补0或者补1

㈡ JAVA中怎么将int数据转换为byte数据

JAVA中根据以下代码将int数据转换为byte数据:

public static byte[] int32ToBytes(int val) {

int size = Integer.SIZE / Byte.SIZE;

byte[] ret = new byte[size];

for (int i = 0; i < size; ++i) {

ret[i] = (byte) (val << (8 * i) >> 56);

}

return ret;

}

(2)javabytetointeger扩展阅读

Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。

byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。

运算规则:

####正数的最高位都是 0 ,正数的值就是二进制表示的值。 ####

####负数的最高位都是 1 ,负数的值是 取反后加一 然后加个负号得到得值。 ####

㈢ JAVA中byte类型的介绍。 谢谢

1、在Java中,byte类型的数据是8位带符号的二进制数。最高位表示正负,0为正,1为负。

2、java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。

3、正数的最高位都是 0 ,正数的值就是二进制表示的值。

4、负数的最高位都是 1 ,负数的值是 取反后加一 然后加个负号得到的值。

(3)javabytetointeger扩展阅读

1、java基本数据类型

JAVA中一共有八种基本数据类型,分别是byte、short、int、long、float、double、char、boolean。

2、java各数据类型取值范围

byte,整型,1个字节,范围:-2的7次方 ~ 2的7次方-1;

short,整型,2个字节,范围:-2的15次方 ~ 2的15次方-1;

int,整型,4个字节,范围:-2的31次方 ~ 2的31次方-1;

long,整型,8个字节,范围:-2的63次方 ~ 2的63次方-1;

float,浮点型,4个字节,范围:3.402823e+38 ~ 1.401298e-45;

double,浮点型,8个字节,范围:1.797693e+308~ 4.9000000e-324;

char,文本型,2个字节,范围:0~2的16次方-1;

boolean,布尔型,1个字节,范围:true/false;

参考资料

网络-java字符型

㈣ 在java中怎么把字节数组转换成二进制字符串

可以使用Integer类的toBinaryString方法,例如:

bytea=0x45;
StringbinStr=Integer.toBinaryString(a).

API中toBinaryString的解释:

toBinaryString

public static String toBinaryString(inti)

以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

如果参数为负,该无符号整数值为参数加上 232;否则等于该参数。将该值转换为二进制(基数 2)形式的无前导0的 ASCII 数字字符串。如果无符号数的大小为零,则用一个零字符'0'(’u0030’) 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。字符'0'('u0030') 和'1'('u0031') 被用作二进制数字。


参数:

i- 要转换为字符串的整数。

返回:

用二进制(基数 2)参数表示的无符号整数值的字符串表示形式。

从以下版本开始:

JDK1.0.2

㈤ java 如何将byte[4]数组转换成一个int型数据

java中将4字节的byte数组转成一个int值的工具方法如下:
/**
* @param byte[]
* @return int
*/
public static int byteArrayToInt(byte[] b){
byte[] a = new byte[4];
int i = a.length - 1,j = b.length - 1;
for (; i >= 0 ; i--,j--) {//从b的尾部(即int值的低位)开始数据
if(j >= 0)
a[i] = b[j];
else
a[i] = 0;//如果b.length不足4,则将高位补0
}
int v0 = (a[0] & 0xff) << 24;//&0xff将byte值无差异转成int,避免Java自动类型提升后,会保留高位的符号位
int v1 = (a[1] & 0xff) << 16;
int v2 = (a[2] & 0xff) << 8;
int v3 = (a[3] & 0xff) ;
return v0 + v1 + v2 + v3;
}

㈥ java如何把byte数组里的十六进制转换成int类型,如下图的数据,杂么转换,跪求方法和代码

示例

packagecom.sdvdxl.other;

publicclassTest{
publicstaticvoidmain(String[]args){
byte[]bytes=newbyte[]{0x00,0x53};
for(byteb:bytes){
System.out.println(Integer.valueOf(b));
}
}
}

结果:

0

83


PS : 使用的时候会自动转换成10进制的

㈦ java为什么要有integer类型

int是JAVA八大基本数据类型(byte,shor,int,long,char,boolean,float,double)之一。JAVA语言为八大基本数据提供了包装类,Integer对应是int类型的包装类,就是把int类型包装成Object对象。Java有2种不同的类型:引用类型和原始类型。Int是java的原始数据类型,Integer是java的为int提供的封装类。Java为每个原始类型提供了封装类。int是基本数据类型Integer是int的一个包装类(wrapper),他是类不是基本数据类型,他的内部其实包含一个int型的数据那为什么要用Integer呢,主要是因为面向对象的思想,因为Java语言是面向对象的,这也是它只所以流行的原因之一,对象封装有很多好处,可以把属性也就是数据跟处理这些数据的方法结合在一起,比如Integer就有parseInt()等方法来专门处理int型相关的数据,另一个非常重要的原因就是在Java中绝大部分方法或类都是用来处理类类型对象的,如ArrayList集合类就只能以类作为他的存储对象,而这时如果想把一个int型的数据存入list是不可能的,必须把它包装成类,也就是Integer才能被List所接受。所以Integer的存在是很必要的。始数据类型引用数据类型oatdoubleDouble引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以那种类型的数据结构存储,当引用类型和原始类型用作某个类的实例时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。Integer类的使用方法1、属性。staticintMAX_VALUE:返回最大的整型数;staticintMIN_VALUE:返回最小的整型数;staticClassTYPE:返回当前类型。例子代码:System.out.println("Integer.MAX_VALUE:"+Integer.MAX_VALUE);结果为:Integer.MAX_VALUE:21474836472、构造函数。Integer(intvalue):通过一个int的类型构造对象;Integer(Strings):通过一个String的类型构造对象;例子代码:Integeri=newInteger("1234");生成了一个值为1234的Integer对象。3、方法。说明:1.所有方法均为public;2.书写格式:[修饰符]如:staticintparseInt(Strings)表示:此方法(parseInt)为类方法(static),返回类型为(int),方法所需参数为String类型。1.byteValue():取得用byte类型表示的整数;2.intcompareTo(IntegeranotherInteger):比较两个整数。相等时返回0;小于时返回负数;大于时返回正数。例子代码:Integeri=newInteger(1234);System.out.println("i.compareTo:"+i.compareTo(newInteger(123)));结果为:i.compareTo:13.intcompareTo(Objecto):将该整数与其他类进行比较。如果o也为Integer类,进行方法2的操作;否则,抛出ClassCastException异常。4.staticIntegerdecode(Stringnm):将字符串转换为整数。5.doubledoubleValue():取得该整数的双精度表示。6.booleanequals(Objectobj):比较两个对象。7.floatfloatValue():取得该整数的浮点数表示。8.staticIntegergetInteger(Stringnm):根据指定名确定系统特征值。9.staticIntegergetInteger(Stringnm,intval):上面的重载。10.staticIntegergetInteger(Stringnm,Integerval):上面的重载。11.inthashCode():返回该整数类型的哈希表码。12.intintValue():返回该整型数所表示的整数。13.longlongValue():返回该整型数所表示的长整数。14.staticintparseInt(Strings):将字符串转换成整数。s必须是时进制数组成,否则抛出NumberFormatException异常。15.staticintparseInt(Strings,intradix):以radix为基数radix返回s的十进制数。所谓的基数就是“几进制”。例子代码:Strings1=newString("1010");System.out.println("Integer.parseInt(Strings,intradix):"+Integer.parseInt(s1,2));结果为:Integer.parseInt(Strings,intradix):10即s1在此例中被看成是二进制,返回十进制就是10。16.shortshortValue():返回该整型数所表示的短整数。17.staticStringtoBinaryString(inti):将整数转为二进制数的字符串。18.staticStringtoHexString(inti):将整数转为十六进制数的字符串。19.staticStringtoOctalString(inti):将整数转为八进制数的字符串。20.StringtoString():将该整数类型转换为字符串。21.staticStringtoString(inti):将该整数类型转换为字符串。不同的是,此为类方法。22.staticStringtoString(inti,intradix):将整数i以基数radix的形式转换成字符串。例子代码:inti1=54321;System.out.println("Integer.toString(inti,intradix):"+Integer.toString(i1,16));结果为:Integer.toString(inti,intradix):d43123.staticIntegervalueOf(Strings):将字符串转换成整数类型。24.staticIntegervalueOf(Strings,intradix):将字符串以基数radix的要求转换成整数类型。

㈧ 求教如何将一个java的byte数组快速转换为int数组

public class ByteUtil {

/**
* 将 Little-Endian 的字节数组转为 int 类型的数据<br />
* Little-Endian 表示高位字节在高位索引中
* @param bys 字节数组
* @param start 需要转换的开始索引位数
* @param len 需要转换的字节数量
* @return 指定开始位置和长度以 LE 方式表示的 int 数值
*/
public static int bytes2IntLE(byte[] bys, int start, int len) {
return bytes2Int(bys, start, len, false);
}

public static int bytes2IntLE(byte[] bys) {
return bytes2Int(bys, 0, bys.length, false);
}

/**
* 将 Big-Endian 的字节数组转为 int 类型的数据<br />
* Big-Endian 表示高位字节在低位索引中
* @param bys 字节数组
* @param start 需要转换的开始索引位数
* @param len 需要转换的字节数量
* @return 指定开始位置和长度以 BE 方式表示的 int 数值
*/
public static int bytes2IntBE(byte[] bys, int start, int len) {
return bytes2Int(bys, start, len, true);
}

public static int bytes2IntBE(byte[] bys) {
return bytes2Int(bys, 0, bys.length, true);
}

/**
* 将字节数组转为 Java 中的 int 数值
* @param bys 字节数组
* @param start 需要转换的起始索引点
* @param len 需要转换的字节长度
* @param isBigEndian 是否是 BE(true -- BE 序,false -- LE 序)
* @return
*/
private static int bytes2Int(byte[] bys, int start, int len,
boolean isBigEndian) {
int n = 0;
for(int i = start, k = start + len % (Integer.SIZE / Byte.SIZE + 1); i < k; i++) {
n |= (bys[i] & 0xff) << ((isBigEndian ? (k - i - 1) : i) * Byte.SIZE);
}
return n;
}
}

㈨ Java:byte转换为整型,是如何补位的呢

你好:试试下面的方法
public static void main(String args[]){
String s = "101011110001";
int x = 0;
for(char c: s.toCharArray())
x = x * 2 + (c == '1' ? 1 : 0);
System.out.println(x);
}

㈩ 求java编程 字节byte怎么转换成整形int

1.byte的大小为8bits而int的大小为32bits
2.java的二进制采用的是补码形式

在这里先温习下计算机基础理论

byte是一个字节保存的,有8个位,即8个0、1。
8位的第一个位是符号位,
也就是说00000001代表的是数字1
10000000代表的就是-1
所以正数最大位01111111,也就是数字127
负数最大为11111111,也就是数字-128

上面说的是二进制原码,但是在java中采用的是补码的形式,下面介绍下什么是补码

1、反码:
一个数如果是正,则它的反码与原码相同;
一个数如果是负,则符号位为1,其余各位是对原码取反;

2、补码:利用溢出,我们可以将减法变成加法
对于十进制数,从9得到5可用减法:
9-4=5因为4+6=10,我们可以将6作为4的补数
改写为加法:
9+6=15(去掉高位1,也就是减10)得到5.

对于十六进制数,从c到5可用减法:
c-7=5因为7+9=16将9作为7的补数
改写为加法:
c+9=15(去掉高位1,也就是减16)得到5.

在计算机中,如果我们用1个字节表示一个数,一个字节有8位,超过8位就进1,在内存中情况为(100000000),进位1被丢弃。

⑴一个数为正,则它的原码、反码、补码相同
⑵一个数为负,刚符号位为1,其余各位是对原码取反,然后整个数加1

-1的原码为10000001
-1的反码为11111110
+1
-1的补码为11111111

0的原码为00000000
0的反码为11111111(正零和负零的反码相同)
+1
0的补码为100000000(舍掉打头的1,正零和负零的补码相同)

Integer.toHexString的参数是int,如果不进行&0xff,那么当一个byte会转换成int时,由于int是32位,而byte只有8位这时会进行补位,
例如补码11111111的十进制数为-1转换为int时变为好多1啊,呵呵!即0xffffffff但是这个数是不对的,这种补位就会造成误差。
和0xff相与后,高24比特就会被清0了,结果就对了。

----
Java中的一个byte,其范围是-128~127的,而Integer.toHexString的参数本来是int,如果不进行&0xff,那么当一个byte会转换成int时,对于负数,会做位扩展,举例来说,一个byte的-1(即0xff),会被转换成int的-1(即0xffffffff),那么转化出的结果就不是我们想要的了。

而0xff默认是整形,所以,一个byte跟0xff相与会先将那个byte转化成整形运算,这样,结果中的高的24个比特就总会被清0,于是结果总是我们想要的。

来自博客友zhouyong0的分享

阅读全文

与javabytetointeger相关的资料

热点内容
linux安装xdm 浏览:736
java计算12 浏览:249
大金空调摆动式压缩机 浏览:453
新的云服务器如何设置首页 浏览:687
javastring字符位置 浏览:196
银河麒麟字体库存在哪个文件夹 浏览:956
魔兽加丁服务器的航空叫什么 浏览:152
花冠改装案例哪个app多 浏览:515
成绩单app哪个好用 浏览:140
北美程序员vs国内程序员 浏览:181
php解析xml文档 浏览:121
石墨文档APP怎么横屏 浏览:185
墙主钢筋加密和非加密怎么看 浏览:144
金山区文件夹封套定制 浏览:708
soho程序员 浏览:672
java字节截取 浏览:526
php提交作业 浏览:815
房产还没解压可以办理赠予吗 浏览:224
java毫秒转分钟 浏览:753
模式识别中文pdf 浏览:774