JAVA byte有无符号数的转换

如果你只需要对英文文本的每个字节进行数据处理,则无需考虑有符号数和无符号数的转换问题;

但如果你需要对含有中文的文本进行字节处理,则可能需要考虑有无符号数的转换问题。

1、有符号byte 转 无符号int:

byte b= -120;
int a= bytes & 0xff;

2、无符号int 转 有符号byte:

int a= 300;
byte b= (byte)a;

就是那么简单~~~

时间: 2024-08-25 02:32:31

JAVA byte有无符号数的转换的相关文章

C++有符号和无符号数的转换

本文转自:http://www.94cto.com/index/Article/content/id/59973.html 1.引例: 今天在做了一道关于有符号数和无符号数相互转换及其左移/右移的问题,被它们之间的转换原理和位移原理搞得头大了.真的很后悔本科的时候没有认真学习<计算机组成原理>/<计算机操作系统>等计算机基础课程.以下是我根据相关知识回顾和整理的材料,如有和某某的文章有雷同之处,请勿见怪.另外也希望看到这篇文章的同志们能够有所收获吧. 1 #include <

关于有符号数和无符号数的转换 - C/C++

转载自:http://www.94cto.com/index/Article/content/id/59973.html 1.引例: 今天在做了一道关于有符号数和无符号数相互转换及其左移/右移的问题,被它们之间的转换原理和位移原理搞得头大了.真的很后悔本科的时候没有认真学习<计算机组成原理>/<计算机操作系统>等计算机基础课程.以下是我根据相关知识回顾和整理的材料,如有和某某的文章有雷同之处,请勿见怪.另外也希望看到这篇文章的同志们能够有所收获吧. #include <cst

关于有符号数和无符号数的转换

1.引例: 今天在做了一道关于有符号数和无符号数相互转换及其左移/右移的问题,被它们之间的转换原理和位移原理搞得头大了.真的很后悔本科的时候没有认真学习<计算机组成原理>/<计算机操作系统>等计算机基础课程.以下是我根据相关知识回顾和整理的材料,如有和某某的文章有雷同之处,请勿见怪.另外也希望看到这篇文章的同志们能够有所收获吧. #include <cstdio> #include <iostream> using namespace std; int ma

Java - byte[]与int的互相转换

public static int byte2Int(byte[] b, int begin, int len) { int sum = 0; int end = begin + len; int n; for (int i = begin; i < end; i++) { n = ((int) b[i]) & 0xff; n <<= (--len) * 8; sum = n + sum; } return sum; } public static byte[] int2byte

java操作无符号数

吐槽一下,java对byte的操作太恶心了! 无符号数数组转换int类型的代码如下: public static int bytes4ToInt(Unsigned8[] ary) { int value = (((int)ary[3].get())<<24)+(((int)ary[2].get())<<16)+(((int)ary[1].get())<<8)+((int)ary[0].get())& 0x0FFFF; return value; }

【转】java byte转long、double、float、int、short,或者long、double、float、int、short转byte

原文网址:http://www.xuebuyuan.com/988752.html java byte与其他数据类型的转换主要用于二进制数据的编码和解码,主要用于网络传输,读写二进制文件,java和c++服务器之间的数据通信等等 以下是总结的源码 /** * BYTE转INT * * @param b * @return */ protected int byteArrayToInt(byte[] b) { return (b[0] << 24) + ((b[1] & 0xFF) &l

Java 无符号数的处理

Java没有无符号数,这会带来很多问题. static byte[] x = {(byte) 0xff,(byte) 0xff}; public static void main(String[] args) throws IOException { byte a = x[0]; int z = a&0xff; System.out.println(z); } int z = a&0xff, 首先a为byte类型,在对其进行&操作时,会先将其转换成int类型,即 1111 1111

java把符号数转成无符号数

/** * @author YangQuanqing yqq 功能:将java中字节数据变成无符号数据在0--255范围内. * */ public class ConvertToUnsigned { private static short[] tempByteU = null;// 字节无符号型数据 /** *  返回无符号数 * @param a有符号字节数组 * @return字节无符号型数据 */ public static short[] toGetUnsignedByte(byte

java byte 16进制转换

整型转16进制: int devIdInt = Integer.parseInt(devId); String devIdString = Integer.toHexString(devIdInt); 16进制转为字节: byte devBin = (byte) Integer.parseInt(devIdString, 16); byte devBin =Integer.valueOf(devIdString, 16).byteValue(); byte devBin =Byte.parseB