java笔记--关于int和byte[]的转换】的更多相关文章

关于int和byte[]数组的转换 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3891747.html "谢谢-- 众所周知java有8种基本类型,分别是低级变量(byte,char,boolean,shot)和高级变量(int,long,double,float),低级变量会自动转化成高级变量,而高级变量则要用强制转换才能成为低级变量,可是在文件传输和网络传输当中,由于计算机都是以二进制来存储数据的,所以很多时候我们需要将要…
java中的int与byte的转化 1.基础准备 1.1.原码 就是二进制码,最高位为符号位,0表示正数,1表示负数,剩余部分表示真值 1.2.反码 在原码的基础上,正数反码就是他本身,负数除符号位之外全部按位取反 1.3.补码 正数的补码就是自己本身, 负数的补码是在自身反码的基础上加1 2.对应到java操作 &(与), | (或), ^ (异或),~ (按位取反) & :当2个都为1的时候为1, 其他都是0 . 1&1 = 1, 1&0 = 0, 0&0 =…
今天收到的一份需求任务是对接硬件,TCP通信,并给出通信端口与数据包格式,如下: 1.首先编写了一个简单的十六进制转byte[]数组与byte[]转换16进制字符串的两个方法,如下: /** * 将十六进制的字符串转换成字节数组 * * @param hexString * @return */ public static byte[] hexStrToByteArrs(String hexString) { if (StringUtils.isEmpty(hexString)) { retur…
Java中的整数都是通过补码表示的,当整数为正数时,补码和原码相同,当整数为负数时,补码为原码按位取反(符号位除外),然后加1. 通过一些例子可以比较明显的看出: int a = -1; System.out.println(Integer.toBinaryString(a));//output: 11111111111111111111111111111111 int a = -128; System.out.println(Integer.toBinaryString(a));//outpu…
String类格式化当天日期 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3877389.html "谢谢-- 转换符:%tb : 格式化为月份的英文缩写%tB : 格式化为月份的英文全写%ta : 格式化为星期%tA : 格式化为星期%ty : 格式化为两位年份值%tY : 格式化为四位年份值%tm : 格式化为两位月份值%td : 格式化为两位日期值%te : 格式化为星期一位日期值%tH : 格式化为两位24时制小时值(0…
原文网址:http://freewind886.blog.163.com/blog/static/661924642011810236100/ 最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码.补码的说明依旧头疼,还是记下些实用的方法吧.int -> byte可以直接使用强制类型转换: byte b = (byte) aInt;这个操作是直接截取int中最低一个字节,如果int大于255,则值就会变得面目全非了.对于通过InputStream.read()获取的in…
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed)的.强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限制了变量可以hold哪些值,表达式最终产生什么值.同时限制了这些值可以进行的操作类型以及操作的具体方式.所有的赋值操作,无论是显式的还是在方法调用中通过参数传递,都要进行类型兼容性检查. Java的数…
计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用int(32位)来存字是可以的,将char型值赋给int型会自动类型转换. 所谓int为整形数 表示它显示的就是底层二进制表示的数字,而char为字符型就是它显示的不是底层二进制表示的,而是通过对照字符编码unicode16 来把这个底层二进制表示出来,int比char大,因此肯定可以用int表示汉…
聊聊java基础,int值强制类型转换成byte 知识点:byte.short.char在表达式中会自动提升为int 之前做一个应用时,打印IP地址,因为是用4个byte存储的,所以打印的时候值范围是-128~127,考虑了下怎么快速转换成int值.然后今天抽空把整个完整的过程思考下,然后写下来. 首先int强制类型转换成byte,直接取低8位,这个大家可以自己试试,不管int值是多少,转化后的byte二进制与int的第八位二进制一样.所以如果int的第八位是1,转成byte就是负值,否则就是正…
在网络编程中,出于节约带宽或者编码的需要,通常需要以原生方式处理long和int,而不是转换为string. public class ByteOrderUtils { public static byte[] int2byte(int res) { byte[] targets = new byte[4]; targets[3] = (byte) (res & 0xff);// 最低位 targets[2] = (byte) ((res >> 8) & 0xff);// 次低…