Java利用移位运算将int型分解成四个byte型的方法
package 移位运算;
public class 移位运算 {
public static void main(String[] args) {
//00000111 01011011 11001101 00010101
int n=123456789; //n为需要进行移位处理的32位int型初始值
byte[] a =chai(n);
for (int i = 0; i < a.length; i++) {
byte b=a[i];
System.out.print(b+" ");
}
//将数组重新合并成一个int型
System.out.println(hebing(a));
}
private static int hebing(byte[] arr) {
int n=0;
/*for (int i = 0; i < arr.length; i++) { //循环位或
n=n|arr[i]<<8*(arr.length-1)>>>8*i;
}
*
* n=n|arr[0]<<24;
* n=n|arr[1]<<24>>>8;
* n=n|arr[2]<<24>>>16;
* n=n|arr[3]<<24>>>24;
*/
for (int i = 0; i < arr.length; i++) { //循环位或
n+=(arr[i]&0x000000ff)<<8*(arr.length-1-i);
}
return n;
}
private static byte[] chai(int n) {
// 新建四个长度的byte数组
byte[] arr = new byte[4];
for (int i = 0; i < arr.length; i++) {
arr[i] = (byte) (n>>8*(arr.length-i-1));
}
return arr;
}
}

总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法
引入第三方jar包或者查看Java源码的时候,经常遇到问题如下: decompiled.class file bytecode version:52.0(java 8) ,open source file. 翻译一下上面的意思:(反编译 .class文件中的字节码 到Java 8 版本) 打开源文件 其实这个时候,你就得注意一下,你看到文件是 .class文件,还是 .java文件. 然后我就详细的总结了一下,二者的差别: 1.先是理论知识: .java为Java的源文件后缀,编写的代码需要写在
-
Java中byte输出write到文件的实现方法讲解
简述: 观察Byte值转为字符写入文件 如果在java里用byte打印出来 只有33 到 126的输出字符比较正常 此外发现Byte值为13是空格,10是换行符 知识点: 1. String 转为Byte输出("UTF-8"格式) 2. FileOutputStream 使用输出文件流 代码: package testChar; import java.io.File; import java.io.FileNotFoundException; import java.io.FileO
-
Centos7.5配置java环境安装tomcat的讲解
Tomcat是基于java语言的web服务器软件,本文主要介绍如何在centos7.5上配置java环境并安装tomcat 1.安装Java环境: 访问orcal官网下载JDK rpm包:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载完成后执行:rpm -ivh jdk-8u161-linux-x64.rpm进行安装,默认会安装到/usr/java目录下 安装完成后,修
-
实例讲解Java基础之反射
前期准备 编写一个真实类phone,实现list接口 public class Phone implements List { public double price; public String name; public Phone() { } public Phone(double price, String name) { this.price = price; this.name = name; } public double getPrice() { return price; } p
-
Java中的Map允许有重复元素吗?
Java中常见的三个集合接口:List.Set.Map,已经知道List中是允许有重复元素的,而Set中是不允许有重复元素的,那么Map中允许有重复元素吗? 查阅资料,发现是不可以的,因为map是无序的,它的查询需要通过key的值来查找,如果你定义两个同样的key,那么一个key就对应了多个值,这样就违背了java对map的定义,键和值是一一对应的.所以key不可以重复. 写个代码测试一下: package com.test.collection; import java.util.HashMa
-
Java与Python之间使用jython工具类实现数据交互
最近有个功能需要java与python之间的数据交互,java需要把参数传给python,然后python计算的结果返回给java.于是就写了一个工具类. 首先,maven 需要加载jython的依赖.工具类代码如下: import java.util.List; import java.util.Map; import java.util.Properties; import org.apache.poi.ss.formula.functions.T; import org.python.co
-
java.util.Collection源码分析与深度理解
写在开头 java.util.Collection 作为Java开发最常用的接口之一,我们经常使用,今天我带大家一起研究一下Collection接口,希望对大家以后的编程以及系统设计能有所帮助,本文所研究的jdk版本为jdk1.8.0_131 明确一下几点: Collection是接口,其继承了Iterable接口 Collection属于单值类型集合,重点子接口List接口和Set接口 Java.util.List接口(有序.不唯一) ArraryList ArrayList 是一个数组队列,
-
C++/JAVA/C#子类调用父类函数情况总结
时间久了就容易记不清了,特留存备用查看 c++ 1.构造函数调用 常用初始化列表 或者显示调用 1.1同一个类中构造函数调用构造函数 尽量不要这样做,因为结果不确定!避免麻烦 可以把共用的代码封装成一个私有的成员函数,然后在构造函数内统一调用. 1.2子类构造函数调用基类构造函数 -----基类有默认构造函数时,可以在子类不写,则隐式调用 -----基类无/有默认构造函数时,在子类构造函数初始化列表处调用,则显示调用 基类类名(参数) class Base { public:
-
Java复制文件常用的三种方法
复制文件的三种方法: 1.Files.copy(path, new FileOutputStream(dest));. 2.利用字节流. 3.利用字符流. 代码实现如下: package com.tiger.io; import java.io.*; import java.nio.file.*; /** * 复制文件的三种方式 * @author tiger * @Date */ public class CopyFile { public static void main(String[]
-
Java中Collection、List、Set、Map之间的关系总结
初学java,单个的接触有点迷糊,所以总结下他们的关系 一.关系 Collection --List:以特定顺序存储 --ArrayList.LinkList.Vector --Set:不能包含重复的元素 --HashSet.TreeSet Map --HashMap.HashTable.TreeMap 二.分别讲解 Collection:Collection是一个父接口,List和Set是继承自他的子接口,Collection是最基本的集合接口,Java SDK中不提供直接继承自Collect
随机推荐
- Git入门【推荐】
- 解锁注册表的vbs脚本
- IOS中UIWebView、WKWebView之JS交互
- Oracle Database 10g数据库安装及配置教程
- 利用Python实现简单的相似图片搜索的教程
- 基于JavaScript实现购物车功能
- ThinkPHP实现递归无级分类——代码少
- Python自定义进程池实例分析【生产者、消费者模型问题】
- python实现二维码扫码自动登录淘宝
- ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
- 在Python的Django框架中创建和使用模版
- python中django框架通过正则搜索页面上email地址的方法
- 自定义jQuery插件方式实现强制对象重绘的方法
- jQuery-ui中自动完成实现方法
- cnblogs 代码高亮显示后的代码复制问题解决实现代码
- JS实时弹出新消息提示框并有提示音响起的实现代码
- 浅谈hibernate中对象的3种状态_瞬时态、持久态、脱管态
- js调用webservice构造SOAP进行身份验证
- C# winfrom实现读取修改xml
- ThinkPHP模板标签eq if 中区分0,null,false的方法
