java中关于二进制的初步。
两个int型和一个long型的转换:
long now=1368257088802L;
int low = (int) (0xFFFFFFFFL & now);
int heigh = (int) ((0xFFFFFFFF00000000L & now) >> 32);
System.out.println("long转双int:"+heigh+","+low);
long lowL=low;
long heighL=heigh;
long now2= ((long)lowL & 0xFFFFFFFFl) + (((long)heighL << 32) & 0xFFFFFFFF00000000l);
System.out.println("双int转long:"+now2);
System.out.println("now:"+now);
ByteBuffer buffer= ByteBuffer.allocate(100);
buffer.putLong(now);
buffer.flip();
long three=buffer.getInt();
long four=buffer.getInt();
System.out.println(three+","+four);
long now3=(((three<<32)&0xFFFFFFFF00000000l)+(four& 0xFFFFFFFFl));
System.out.println("高位+低位:"+now3);
Byte aa='\n';
System.out.println(aa);
int value=61156;
ByteBuffer byte_buffer= ByteBuffer.allocate(4);
byte_buffer.putInt(value);
byte_buffer.flip();
byte aa1=byte_buffer.get();
byte aa2=byte_buffer.get();
byte aa3=byte_buffer.get();//大于128的byte的补码为负值,小于128的byte为正值
byte aa4=byte_buffer.get();
System.out.println(aa1+","+aa2+","+aa3+","+aa4);
int test=0;
test+=( aa1<<24 &0xFF000000);
test+=(aa2<<16 &0xFF0000);
// test+=(aa3<<8 & 0xFF00);//一直是正确的
// test+=(aa3 & 0xFF)<<8;//一直是正确的
test+=( aa3 <<8 );//当为负值时,是错误的;只有为正值是才是正确的
test+=( aa4&0xFF) ;
System.out.println(test);
//转换成二进制
System.out.println( Integer.toBinaryString(aa4 ) +","+aa4 );
System.out.println( Integer.toBinaryString(aa4 & 0xFF)+","+(aa4 & 0xFF) );
System.out.println("<---------------------分割线-------------------------->");
int test_byte=129;
byte byte_test=(byte)(test_byte);
System.out.println( Integer.toBinaryString(byte_test ) +","+byte_test );
System.out.println( Integer.toBinaryString(byte_test & 0xFF)+","+(byte_test & 0xFF) );
int temp=1;
if((byte_test & temp)>0)
{
System.out.println("---");
}
System.out.println("<---------------------分割线-------------------------->");
int a_255=128;
byte test_1=(byte)(a_255);
System.out.println("a_255:"+(test_1 &0xFF) );
System.out.println("a_255:"+(test_1 ) );
个人备注:转换后的二进制的表示数值的有效位是一样的,高位是补码的填充。
java中关于二进制的初步。的更多相关文章
- Java中的二进制及基本的位运算
Java中的二进制及基本的位运算 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二 ...
- java中的二进制
(1)按位与运算 & 1 & 1 = 1, 0 & 1 = 0 51 & 5 即 0011 0011 & 0000 0101 =0000 0001 = 1 ...
- 在Java中关于二进制、八进制、十六进制的辨析
八进制数中不可能出7以上的阿拉伯数字.但如果这个数是123.是567,或12345670,那么它是八进制数还是10进制数?单从数字的角度来讲都有可能! 八进制 所以在Java中规定,一个数如果要指明它 ...
- Java中处理二进制移位
我相信,这篇文章读起来会相当有趣. 文章中编程语言是Java,用Java的原因:第一,Java不做数据溢出校验,这样我们可以忽略溢出异常:第二,Java普及率比较高,就像是python或shell,几 ...
- java中表示二进制、八进制、十进制、十六进制,double、float、整型
java里不能这样表示二进制,只能是 8,10,16进制 8: 前置 0 10: 不需前置 16: 前置 0x 或者 0X double:2 ...
- 我的Android进阶之旅------>对Java中注释/**@hide*/的初步认识
今天写一个调节系统背光亮度的时候,参考了Android中的Setting源码,在源码中有这么一段代码: private static final int MAXIMUM_BACKLIGHT = and ...
- java中表示二进制、八进制、十进制、十六进制
1.进制 进制是一种记数方式 ,可以用有限的数字符号代表所有的数值.由特定的数值组成. 2.进制的表现形式 二进制: 由0和1两个数字组成. 八进制: 由0-7数字组成,为了区分与其他进制的数字区别, ...
- java中使用二进制进行权限控制
基本概念 package test; publicclass Rights { publicstaticvoid main(String[] args) { int a=1; // 001 状态a i ...
- Java中转换为二进制的几种实现
public class HexUtil { private static final String[] DIGITS_UPPER = {"0", "1", & ...
随机推荐
- java的IO总结(一)
Java的IO流是实现输入输出的基础,这里所说的流就是数据流,大部分的与流相关的类放在Java.io包下. 一,Java的流分类 按照不同的分类方式可以把流分成不同的类型,下面我们从不同的角度对流进行 ...
- Java:多线程,线程同步,同步锁(Lock)的使用(ReentrantLock、ReentrantReadWriteLock)
关于线程的同步,可以使用synchronized关键字,或者是使用JDK 5中提供的java.util.concurrent.lock包中的Lock对象.本文探讨Lock对象. synchronize ...
- .NET执行SQL插入时间的问题
错误描述: 一个项目,源码是BOSS给的,部署到网上了,运行没有问题,可是在本地运行,就会有问题,问题在于往一些表插入记录的时候,本地不管怎么样都插入不了,而网上就可以插入,都是相同的一份代码 解决: ...
- Python asyncio文档阅读摘要
文档地址:https://docs.python.org/3/library/asyncio.html 文档第一句话说得很明白,asyncio是单线程并发,这种event loop架构是很多新型异步并 ...
- Spring Boot干货系列:(一)优雅的入门篇
Spring Boot干货系列:(一)优雅的入门篇 2017-02-26 嘟嘟MD 嘟爷java超神学堂 前言 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社 ...
- JS移动li行数据,点击上移下移(是位置的互换,不是top的偏移量改变)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- LeetCode 新题: Find Minimum in Rotated Sorted Array II 解题报告-二分法模板解法
Find Minimum in Rotated Sorted Array II Follow up for "Find Minimum in Rotated Sorted Array&quo ...
- JDBC事务和JTA (XA)事务区别
JDBC 事务 JDBC 事务是用 Connection 对象控制的.JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交. 在jd ...
- JAVA-一个简单的JSP程序(HelloWorld)
相关资料: <21天学通Java Web开发> 实例代码: 1.在虚拟目录下新建一个“HeoolWorld.jsp”文件.2.“HeoolWorld.jsp”文件内容如下: <htm ...
- iOS开发之Xcode常见错误
一."file/file.h" file not found 如果遇到这种类型的问题报错,可以分为三部来解决,由简到复杂一步一步来,直到解决问题位置.1. 点击Xcode -> ...