J2SE習題—預備知識

1.把123分別轉換爲二進制、八進制和十六進制
2.把100101011010分別轉換爲八進制、十進制和十六進制
3.把0564分別轉換爲二進制、十進制和十六進制
4.把0x0a2b分別轉換爲二進制、八進制和十進制
5.分別寫出17的原碼、反碼及補碼
6.分別寫出-17的原碼、反碼及補碼
7.已知一個數的補碼是1111 0010,求這個數是多少。
8.求1100 0011 加上1101 0101所得的數是多少(這兩個二進制數均是無符號數)。

class Test 
{
    public static void main(String[] args) 
    {
        //1.123分別轉換爲二進制、八進制和十六進制
        System.out.println("二進制:"+Integer.toBinaryString(123));
        System.out.println("八進制:"+Integer.toOctalString(123));//沒有符號位
        System.out.println("十六進制:"+Integer.toHexString(123));

        //2.100101011010分別轉換爲八進制、十進制和十六進制
        System.out.println("八進制:"+Integer.toString(Integer.parseInt("100101011010",2), 8));//parseInt第一個參數一定要是字符串形式,先轉成十進制,再轉成指定進制
        System.out.println("十進制:"+Integer.toString(Integer.parseInt("100101011010",2), 10));
        System.out.println("十六進制:"+Integer.toString(Integer.parseInt("100101011010",2), 16));

        //3.0564分別轉換爲二進制、十進制和十六進制
        System.out.println("二進制:"+Integer.toString(Integer.parseInt("0564",8), 2));
        System.out.println("十進制:"+Integer.toString(Integer.parseInt("0564",8), 10));
        System.out.println("十六進制:"+Integer.toString(Integer.parseInt("0564",8), 16));

        //4.0x0a2b分別轉換爲二進制、八進制和十進制
        String q4 = "0x0a2b".substring(3);
        System.out.println("二進制:"+Integer.toString(Integer.parseInt(q4,16), 2));//不能帶前綴
        System.out.println("八進制:"+Integer.toString(Integer.parseInt(q4,16), 8));
        System.out.println("十進制:"+Integer.toString(Integer.parseInt(q4,16), 10));

        //5.分別寫出17的原碼、反碼及補碼||都相同
        System.out.println("原碼、反碼及補碼:"+Integer.toBinaryString(17));//Byte沒有此方法

        //6.分別寫出-17的原碼、反碼及補碼 (源碼算法不會)
        int q6 = -17;
        System.out.println("補碼:"+Integer.toBinaryString((-q6)));
        System.out.println("反碼:"+Integer.toBinaryString(q6-1));

        //7.已知一個數的補碼是1111 0010,求這個數是多少。||一個數的補碼就是其二進制
        System.out.println("十進制:"+Integer.parseInt("11110010",2));

        //8.1100 0011 加上1101 0101所得的數是多少(這兩個二進制數均是無符號數)
        System.out.println("十進制:"+( Integer.parseInt("11000011",2) + Integer.parseInt("11010101",2)));
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章