4.1二进制基础(文件操作)

2016-09-24  本文已影响0人  夏沫xx

1、 十进制和二进制的由来

2、 进制转换

什么是二进制
十进制转二进制采用短除2法
二进制怎么表示一个数
计算机为什么要用二进制

3、 位运算

运算符 运算 示例
& 与运算 6&3=2
l 或运算 6 l 3=7
^ 异或运算 6^3=5
~ 反码 ~6=-7
<< 左移 3<<2=12 322=12
>> 右移 3>>1=1 3/2=1
>>> 无符号右移 3>>>1=1 3/2=1

4 、 JDK内置的进制转换

public class RadixMain {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //十进制转为其他进制
        System.out.println(Integer.toBinaryString(112));//二进制
        System.out.println(Integer.toHexString(112));//十六进制
        System.out.println(Integer.toOctalString(112));//八进制
//其他进制转化为十进制
        System.out.println(Integer.parseInt("111001",2));//二进制
        System.out.println(Integer.parseInt("27",8));//八进制
        System.out.println(Integer.parseInt("A8",16));//十六进制
    }

}

5、 java中的进制

java中数据类型
基本类型四种

对应的类型:
Integer、Float、Boolean、Character、Double、Short、Byte、Long
数据类型 转换 字节

Paste_Image.png Paste_Image.png

字符串->字节数组
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”

package sometime;
    /*
     * int转化为byte[]
     */
public class Convert {
    public static byte[] int2Bytes(int id){
        byte[] arr=new byte[4];
        arr[0]=(byte) ((byte)(int)(id>>0*8)&0xff);
        arr[1]=(byte) ((byte)(int)(id>>1*8)&0xff);
        arr[2]=(byte) ((byte)(int)(id>>2*8)&0xff);
        arr[3]=(byte) ((byte)(int)(id>>3*8)&0xff);
        return arr;
    }
    /*
     * 转化 byte[]为int
     */
    public static int bytes2Int(byte[] arr){
        int rs0=(int)((arr[0]&0xff)<<0*8);
        int rs1=(int)((arr[1]&0xff)<<1*8);
        int rs2=(int)((arr[2]&0xff)<<2*8);
        int rs3=(int)((arr[3]&0xff)<<2*8);
        return rs0+rs1+rs2+rs3;
    }
    public static void main(String[] args){
        // TODO Auto-generated method stub
        byte[] arr=Convert.int2Bytes(8143);
        System.out.println(arr[0]+","+arr[1]+","+arr[2]+","+arr[3]);
        System.out.println(Convert.bytes2Int(arr));
        }
}
上一篇下一篇

猜你喜欢

热点阅读