import java.io.*; public class Test{ /** * 二進制與整型之間的轉換 * @param args * @throws IOException */ public static void main(String args[])throws IOException{ //整型轉二進制 int a = -1; int b = 1; System.out.println(Integer.toBinaryString(a)); System.out.println(Integer.toBinaryString(b)); System.out.println(Integer.toBinaryString(a+b)); //二進制轉int,二進制用0b開頭 int bn = 0b11111111111111111111111111111111; System.out.println(bn); } }
以上程序運行結果:
計算機中負數的運算原理,計算機中的運算是通過二進制的補碼形式進行的
計算 16-8=16+(-8)
假設這是一台八進制的機器,使用補碼進行運算,最高位第9位會溢出自動舍棄,所以就變成了00001000
補碼運算:
00010000
+11111000
---------
100001000
小徐看世界,世界如此多嬌: http://www.cnblogs.com/schoolbag/