二进制基础

来源:互联网 发布:三菱q系列plc编程软件 编辑:程序博客网 时间:2024/04/28 22:19


* JAVA中的二进制在跨平台中用的比较多:如文件读写、数据通信等


* 计算机为什么要用二进制:计算简单,简化了计算机结构


* 二进制的位运算:  (二进制位运算优点:特定情况下,计算方便,速度快,支持面广)
& 与运算:两位全为1,结果才为1              特殊用法:清零,去一个数中指定位
| 或运算:只要有一个为1,结果就为1       特殊用法:对一个数中的某些位置一
^ 亦或运算:两个数相同则结果为0,两个数不同则结果为1
<< 左移:将一个运算对象的各二进制位全部向左移若干位(左边的二进制位丢弃,右边的补零)
                  若左移时舍弃的位不包含1,则每左移一位,相当于该数乘以2
>> 右移:将一个运算对象的各二进制位全部向右移若干位(正数左补0,负数左补1,右边的数丢弃)
     操作数每右移一位,相当于该数除以2    
>>> 无符号右移:将一个运算对象的各二进制位全部向右移若干位(左边补零,右边的数丢弃)
原码:将一个整数按照绝对值大小转换成的二进制数成为原码。
反码:将一个二进制数按位取反,所得的新二进制数称为原二进制数的反码
补码:反码+1即得到补码。


* JDK内置的进制转换
          Integer.toBinaryString(int i); //将十进制 i 转换成二进制
          Integer.toHexString(int i);    //将十进制 i 转换成十六进制
          Integer.toOctalString(int i);  //将十进制 i 转换成八进制
          
          //转换成十进制的操作
          Integer.valueOf("111110000011001", 2);
          Integer.valueOf("567", 8);
          Integer.valueOf("23AF", 16);
          
* 基本类型有以下四种:int数据类型有:byte(8bit,-128~127)
                        short(16bit)
                        int(32bit)
                        long(64bit)
            float数据类型:单精度(32bit float)  
                                                               双精度 (64bit double)   
            boolean类型的变量的取值:true false
            char数据类型:unicode字符,16位
对应的类类型:Integer、Double、Boolean、Float、Byte、Short、Long     
 

*  将字符串转换成字节数组:   String str;
                      Byte[] bytes= str.getBytes();
                      Byte[] bytes= str.getBytes("编码格式"); //指定编码格式的转换
                      
        字节数组转换成字符串 :     String str = new String(bytes);
                      String str = new String(bytes, "编码格式");  //指定编码格式的转换
                      
                      
                      
                      
0 0