Java byte位移操作 注意事项】的更多相关文章

Java对byte 的 + - * / >> >>> << & | ^ (加,减,乘,除,右移,左移,无符号右移,位与,位或,位异或)操作,均会是首先将byte转化为int, 再行运算.这一事实可能导致多种问题:     假设我们想进行如下byte运算: 1111 1000 右移1位,再与0000 0001 或运算,得 0111 1101. 直觉写程序如下: byte b = 0xf8; byte b2 =  b >> 1 | 0x01;  …
转自:http://blog.163.com/pilgrim_yang/blog/static/55631481201111542151582/ Java对byte 的 + - * / >> >>> << & | ^ (加,减,乘,除,右移,左移,无符号右移,位与,位或,位异或)操作,均会是首先将byte转化为int, 再行运算.这一事实可能导致多种问题:     假设我们想进行如下byte运算: 1111 1000 右移1位,再与0000 0001 或运…
java位移操作主要有两种: 有符号位移:有符号位移会保留原有数字正负性,即正数依然是正数,负数依然是负数. 有符号位左移时,低位补0. 有符号右移时:当数字为正数,高位补0.当数字为负时高位补1. 无符号位移:无符号位移不能保持原有正负性,与有符号位移的主要差异主要体现在右移时, 无论数字是正数还是负数,高位统一补0.(无符号左移低位依然是补0) java编程思想里面有这样一句话:当int型数据位移时,只有数值右端的低5位才有用,long型数值只会用到数值右端的低6位. 这里的数值指的是右操作…
解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式.面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类.面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类. 总结:以InputStream(输入)/OutputStream(输出)为后缀的是字节流: 以Reader(输入)/Wr…
java字符流操作flush()方法及其注意事项   flush()方法介绍 查阅文档可以发现,IO流中每一个类都实现了Closeable接口,它们进行资源操作之后都需要执行close()方法将流关闭 .但字节流与字符流的不同之处在于:字节流是直接与数据产生交互,而字符流在与数据交互之前要经过一个缓冲区 . 草图:  使用字符流对资源进行操作的时候,如果不使用close()方法,则读取的数据将保存在缓冲区中,要清空缓冲区中的数据有两种办法: public abstract void close(…
本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 Redis 是什么,能做什么 Redis 是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型.内置复制.Lua脚本.LRU收回.事务以及不同级别磁盘持久化功能,同时通过Redis…
java编写规范及注意事项 1.注释 常见注释有三种  //   /**/ /****/ 如何才能写出漂亮的注释呢,注释的目的就是为了使你的代码让人更容易理解和维护,写一手好的注释是一个优秀码农的基本体现 注释规范 注释应该增加代码的清晰度,能一针见血 保持注释的简洁,多余的不要写 写代码之前应该先注释好,列好各个步骤,然后根据步骤编写 注释你写的内容所要实现的目标,方便目标明确 注释场景 类,类目的,类功能,变量 接口,接口目的,接口功能,使用场景 参数,参数含义,约束,使用条件 字段,字段描…
java进制操作 1.二进制 二进制只有0和1,逢二进一 二进制多用在计算机中,来自计算机硬件的开关闭合 2.位运算 分别讲解: 2.1.按位与 & 两位全为1,结果才为1 0&0=0:1&0=0:1&1=1: 例如:51&5=1 0011 0011 & 0000 0101 = 0000 0001 位运算的特殊用法: 1.清零.如果想将一个单元清零,可使其全部二进制为0,只要与一个各位都为0的数值相与,结果就为零 2.取一个数中的指定位.方法是:找一个数,对…
Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOE…
struts2更新版本操作有关事项备注, 更新主要jar包:struts2-convention-plugin-version,struts2-core-version, struts2-spring-plugin-version 依赖jar包:xwork-core-version 报错应更新有关jar包: freemarker-verson,log4j-version mevan实例: <!-- struts2 所有jar包 -->        <dependency>    …