`

java int byte 转换详情

 
阅读更多

直接上代码了, 说明在注释中

 

Java代码 复制代码 收藏代码
  1. package com.hs;
  2. public class C {
  3. public static void main(String[] args) {
  4. int a=129;
  5. // 第一组 第二组 第三组 第四组
  6. //2的二进制表示完整为 "[00000000][00000000][00000000][00000010]"[]括号实际没有,为了看起来清楚加的
  7. byte[] b=new byte[4];
  8. //向右移位是 低位舍弃,高位补符号位
  9. //向右移位运算,移动24位后,高8位,被移动到低8位上,二、三、四组都会被丢弃
  10. b[0]=(byte) (a>>24);
  11. //向右移动16位,高16位到低16位地方,第三、四组会被舍弃,至于&0xff这里不容易看出来,b[3]那一行能看出来
  12. b[1]=(byte) ((a>>16)&0xff);
  13. //移动8位第四组会被丢弃,结果还是0
  14. b[2]=(byte) ((a>>8)&0xff);
  15. //不移动直接进行与(&)运算,0xff的二进制是第四位为8个1 其他是0的数,作用就是排除不想要的位
  16. //这里来个例子 [00000000][00000500][00000300][00000010]假如有这么个二进制的数字
  17. //如果你想取到[00000300]字节的值 , 先对其向右移动8位变为
  18. //[00000000][00000000][00000500][00000300]
  19. //然后和0xff与运算,0xff二进制[00000000][00000000][00000000][11111111]
  20. //与运算后的结果就为[00000000][00000000][00000000][00000300]
  21. //这样需要的字节就拿到了
  22. b[3]=(byte) (a&0xff);
  23. for (byte c : b) {
  24. System.out.print(Integer.toBinaryString(c&0xff)+" ");
  25. }
  26. System.out.println();
  27. //把字节转回Int和上面颠倒下,就不多说了。
  28. int i=0;
  29. i+=((b[0]&0xff)<<24);
  30. i+=((b[1]&0xff)<<16);
  31. i+=((b[2]&0xff)<<8);
  32. i+=((b[3]&0xff));
  33. System.out.println(i);
  34. }
  35. }

如果有问题请指出哈

分享到:
评论

相关推荐

    java byte相互转换详解左右位移

    1. **byte转int**:将一个byte转换为int,可以通过与0xFF进行按位与操作(AND),然后根据位移规则进行左移或右移操作。例如,`byte b = 10; int i = b & 0xFF;` 这里`b & 0xFF`操作的目的是保证只有低8位参与运算,...

    JAVA转byte[]为int,long,double

    在Java编程语言中,将`byte[]`数组转换为`int`, `long`, 和 `double`类型的数据是一项常见的任务,特别是在处理二进制数据或网络通信时。以下将详细讲解如何进行这些转换,并提供相关代码示例。 1. **转换byte[]到...

    java基本类型与byte数组互相转换.pdf

    字符类型在 Java 中是 16 位的 Unicode 字符,转换成 byte 数组需要将字符类型转换成 int 类型,然后将 int 类型转换成 byte 数组。例如: ```java public static byte[] charToByteArr(char ch) { byte[] b = new...

    Java数值类型与byte数组相互转换

    Java bytes数组与基本类型的相互转换 Int -&gt; Bytes int64ToByte8 int48ToByte6 int40ToByte5 int32ToByte4 int24ToByte3 int16ToByte2 int8ToByte Bytes -&gt; Int bytesToInt64 bytesToInt48 bytesToInt40 bytesTo...

    在Java中int和byte[]的相互转换

    在Java编程语言中,有时我们需要将整型(int)数据与字节数组(byte[])之间进行转换,这在处理网络通信、序列化或存储数据时尤为常见。本文将深入探讨Java中int与byte[]的转换方法。 首先,让我们理解为什么需要进行...

    Java将图片转换为byte数组例子总结

    ### Java将图片转换为byte数组及反向转换的知识点总结 #### 一、知识点概述 在Java编程中,经常需要处理图像数据,特别是在网络传输或存储时,将图像转换为`byte`数组是一种常见的做法。这不仅可以提高传输效率,...

    Java byte数组与其他类型转换

    本文将深入探讨如何在Java中将byte数组与其他基本类型(如short、int、long)进行转换,这些转换在处理二进制数据、网络通信或序列化等方面至关重要。 首先,我们来看byte数组与short之间的转换。在Java中,byte...

    基于java中byte数组与int类型的转换(两种方法)

    在Java编程中,将`int`类型转换为`byte`数组以及从`byte`数组还原回`int`类型是常见的操作,特别是在网络编程中。这是因为网络传输的数据通常以字节流的形式存在,而`int`等基本数据类型需要进行适当的序列化才能...

    Java中byte、byte数组与int、long的转换详解

    - **byte转int**:转换`byte`到`int`时,Java会默认将其视为有符号整数。为了得到无符号的`byte`值,我们需要进行位操作,如`b & 0xFF`,这会移除`byte`的高32位并保留低8位。 2. **Java中byte数组和int之间的转换...

    Java中byte转int的方法

    用强制类型转换:int i = (int) aByte,  比如:若aByte=0xff(即数值为-1)。则转化为int后。i为0xffffffff。数值仍为-1。  2)保持低字节中各个位不变,3个高字节所实用0填充  应用场景:编解码操作,  ...

    byte数组转换工具类 byte数组转int,byte数组转short,short转byte数组

    byte数组操作的工具类,支持byte数组转int,int转byte数组,byte数组转short,short转byte数组。。。 下载的人多了,csdn会自动涨分,现在可以手动调了,我给降到最低了

    int类型和byte数组之间的转换

    写一个方法,将int类型转换为字节数组,输入任意int类型整型,输出字节数组;写第二个方法,输入字节数组,输出对应int类型数据。

    java byte数组与int,long,short,byte的转换实现方法

    本文将详细介绍如何在Java中将`byte`数组与其他基本数据类型(如`int`、`long`、`short`、`byte`)之间进行转换。 首先,我们来看`byte`到`int`的转换。Java中的`byte`类型是8位的,取值范围是-128到127。如果要将...

    Java任意长度byte数组转换为int数组的方法

    由于Java中int类型数据占据32 bit,而byte占据8 bit,因此可以将四个byte转换成一个int类型数据。但是,在实际操作中,我们需要考虑到Java中int类型数据是有符号的,最高位为符号位,为0的话表示正数,为1的话表示...

    java基本类型与byte数组互相转换.doc

    "java基本类型与byte数组互相转换" Java基本类型是指Java语言中最基本的数据类型,包括byte、short、int、long、float、double、char、boolean等。这些基本类型在内存中以二进制形式存储,而byte数组是Java中的一种...

    java基本类型与byte数组互相转换

    在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等场景下。下面将详细介绍如何进行这些...

    int、char、double与byte类型之间相互转换

    Java中的int类型占用4个字节(即32位),因此转换后的byte数组长度为4。 ```java public static byte[] intToByte(int number) { int temp = number; byte[] b = new byte[4]; for (int i = b.length - 1; i &gt;= 0...

    转换Image数据为byte数组

    当涉及到网络传输或存储时,将图像数据转换为字节数组(byte array)成为了一种实用且高效的手段。下面,我们将深入探讨如何在Java中实现图像数据与字节数组之间的相互转换,并分析这一过程中的关键步骤和技术细节。...

    Java如何把int类型转换成byte

    主要介绍了Java如何把int类型转换成byte,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics