直接上代码了, 说明在注释中
package com.hs; public class C { public static void main(String[] args) { int a=129; // 第一组 第二组 第三组 第四组 //2的二进制表示完整为 "[00000000][00000000][00000000][00000010]"[]括号实际没有,为了看起来清楚加的 byte[] b=new byte[4]; //向右移位是 低位舍弃,高位补符号位 //向右移位运算,移动24位后,高8位,被移动到低8位上,二、三、四组都会被丢弃 b[0]=(byte) (a>>24); //向右移动16位,高16位到低16位地方,第三、四组会被舍弃,至于&0xff这里不容易看出来,b[3]那一行能看出来 b[1]=(byte) ((a>>16)&0xff); //移动8位第四组会被丢弃,结果还是0 b[2]=(byte) ((a>>8)&0xff); //不移动直接进行与(&)运算,0xff的二进制是第四位为8个1 其他是0的数,作用就是排除不想要的位 //这里来个例子 [00000000][00000110][00000100][00000010]假如有这么个二进制的数字 //如果你想取到[00000100]字节的值 , 先对其向右移动8位变为 //[00000000][00000000][00000110][00000100] //然后和0xff与运算,0xff二进制[00000000][00000000][00000000][11111111] //与运算后的结果就为[00000000][00000000][00000000][00000100] //这样需要的字节就拿到了 b[3]=(byte) (a&0xff); for (byte c : b) { System.out.print(Integer.toBinaryString(c&0xff)+" "); } System.out.println(); //把字节转回Int和上面颠倒下,就不多说了。 int i=0; i+=((b[0]&0xff)<<24); i+=((b[1]&0xff)<<16); i+=((b[2]&0xff)<<8); i+=((b[3]&0xff)); System.out.println(i); } }
如果有问题请指出哈
相关推荐
在Java中,基本数据类型byte与int之间的相互转换涉及到计算机的二进制运算、位移操作以及补码的概念。我们首先了解Java中int和byte的数据结构,然后探讨它们之间的转换方法及其背后的原理。 **基本数据类型结构:**...
- **byte转int**:转换`byte`到`int`时,Java会默认将其视为有符号整数。为了得到无符号的`byte`值,我们需要进行位操作,如`b & 0xFF`,这会移除`byte`的高32位并保留低8位。 2. **Java中byte数组和int之间的转换...
Java 文件和 Byte 互转实例详解 Java 中文件和 Byte 之间的互转是非常常见的操作,例如从文件中读取字节数据,或者根据字节数据生成文件。在本文中,我们将详细介绍 Java 中文件和 Byte 之间的互转的实例代码,以及...
Java 为每个简单类型都提供了对应的封装类,例如 `int` 有 `Integer`,`float` 有 `Float`,这些封装类在处理对象时特别有用,尤其是在集合框架和泛型中。 1. **简单类型与封装类** - **简单类型**:包括 `boolean...
Java IO 详解 Java IO(Input/Output)是 Java 语言中用于处理输入输出操作的类库,提供了大量的类和方法来实现文件、网络、字节流等方面的输入输出操作。下面对 Java IO 中的重要知识点进行详细说明。 一、File ...
在Java编程中,数据存储和传输常常涉及到不同类型的数据转换,特别是在数据库操作中,与二进制大数据相关的类型如`byte[]`(字节数组)和`Blob`(Binary Large Object)之间的转换尤为常见。本篇文章将详细讲解如何...
例如,在网络通信、文件存储等场景中,经常需要将二进制数据(通常表示为`byte`数组)转换为十六进制字符串形式(即`hex`),或者相反地,将十六进制字符串转回二进制数据。这种需求催生了两个重要的函数:`hex2byte...
"Java整型数与网络字节序byte[]数组转换关系详解" 本文主要介绍了Java整型数与网络字节序byte[]数组之间的转换关系,包括整型数到byte[]数组的转换和byte[]数组到整型数的转换。这些转换关系在Java和C/C++之间的...
### Java中的char与byte的区别详解 #### 一、引言 在Java编程语言中,`char` 和 `byte` 是两种基本的数据类型,它们分别用于处理字符和数值数据。尽管这两种类型都用来存储数据,但它们之间存在着显著的差异。本文...
### JAVA数据类型转换详解 #### 一、引言 在Java编程中,数据类型转换是一项基本且重要的技能。本文档将详细介绍Java中的数据类型转换,包括简单数据类型之间的转换、字符串与其他数据类型的转换以及一些实用的...
### JAVA变量类型之间的相互转换详解 在JAVA编程中,数据类型的转换是常见且重要的操作,尤其是在处理不同数据源或进行复杂运算时。本文将详细解析JAVA中各种基本数据类型(如`byte`、`short`、`int`、`long`、`...
4. **基本数据类型**:Java有八种基本数据类型,包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。理解它们的取值范围和用法是学习Java的基础。 5. **变量与常量...
### Java JDK IO包类详解 #### 概述 Java平台提供的`io`包为开发者提供了访问文件系统、对象序列化等功能的基本输入输出能力。它主要包括字节流、字符流及对象流(字节流的包装类)。此外,还提供了一些基本的文件...
在Java中,字符(`char`)与字节(`byte`)之间的转换是通过编码器(encoder)和解码器(decoder)完成的。Sun公司的标准库中提供了`sun.io.ByteToCharConverter`类,用于实现不同编码间的转换。例如,从GB2312编码...
6. 实现读写操作,例如`output.write(data)`,`int inByte = input.read()`。 7. 关闭串口,`serialPort.close()`。 五、实际应用示例 以下是一个简单的使用JSSC库进行串口通信的Java程序示例: ```java import ...
### Java软件开发实战:对象包装器详解 #### 1. 概述 在Java中,基本数据类型(如`int`、`double`等)并不是对象。为了支持面向对象编程的特点,即“一切皆对象”的理念,Java为每种基本数据类型提供了对应的包装类...
不同类型的变量占据不同数量的字节,如short、byte和char会被转换为int存储,long和double占据两个字节位置。 - **操作数栈**:动态存储计算过程中的临时数据,通过压栈和出栈进行操作,类似于一个临时的工作区。 ...