JAVA二进制基础

原文地址:http://blog.csdn.net/qq_33271612/article/details/50866232

二进制与进制转换

二进制常用的运算 :
按位与(&)
按位或(|)
异或运算(^)
取反运算(~)
左移运算(<<)
右移运算(>>)
无符号右移运算(>>>)

JDK内置的进制转换

十进制转成十六进制Integer.toHexString(int i)
十进制转成八进制Integer.toOctalString(int i)
十进制转成二进制Integer.toBinaryString(int i)
十六进制转成十进制Integer.valueOf(“FFFF”,16).toString()
八进制转成十进制Integer.valueOf(“376”,8).toString()
二进制转成十进制Integer.valueOf(“0101”,2).toString()

Java中的进制

Java平时开发中“进制转换”和“位操作”用的不多,Java处理的是高层;
在跨平台中用的较多,如:文件读写,数据通信.

Java中基本类型:

int数据类型:byte(8bit ,-128~127) short(16 bit) int(32 bit) long(64 bit)

float数据类型: 单精度(32 bit float)、双精度(64 bit double)

boolean类型: true false

char数据类型:unicode字符(16位)

对应的类类型:

Integer、Float、Boolean、Character、Double、Short、Byte、Long

数据类型转化成字节:

8143(0000 0000 0000 0000 0001 1111 1100 1111) => byte[] b =[-49,31,0,0]
第一个(低端)字节:8143>>08 & 0xff =(1100 1111)= 207(或有符号的-49)
第二个(低端)字节:8143>>1
8 & 0xff =(0001 1111)= 31
第三个(低端)字节:8143>>28 & 0xff =(0000 0000)= 0
第三个(低端)字节:8143>>2
8 & 0xff =(0000 0000)= 0

PS:
小端法(Little-Endian):低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端
大端发(Big-Endian):高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端

例如:
32bit宽的数0x12 34 56 78
在Little-endian模式CPU内存中存放的存放方式(假设从地址0x4000开始存放)为:

而在Big-endian模式CPU内存中的存放方式则为:

字符串->字节数组
String s; byte[] bs =s.getBytes();

字节数组->字符串
byte[] bs = new byte[int];
String s = new String(bs);或
String s = new String(bs,encode); //encode指编码方式“gb2312,utf-8”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值