a034. 二進位制轉換
日常生活中使用的是十進位,遇到十就進位,那二進位就是遇到二就進位。
可以參考:【CodingBar】什麼是二進位?|程人式界科普 #01
方法一—直接toBinaryString,超簡單暴力。
方法二—樸實除除樂,如上圖去取除二之後的餘數,然後把順序倒過來輸出。
方法一:
/* a034. 二進位制轉換 * * 2020/3/2 */ import java.util.Scanner; public class Pa034{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); while(scanner.hasNext()){ System.out.println(Integer.toBinaryString(scanner.nextInt())); } } }
方法二:
/* a034. 二進位制轉換 * * 2020/3/2 */ import java.util.Scanner; public class Pa034_2{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); while(scanner.hasNext()){ int decNum = scanner.nextInt(); boolean[] binNum = new boolean[(int)(Math.log(decNum) / Math.log(2)) + 1]; for(int i = binNum.length - 1; i >= 0; i--){ binNum[i] = decNum % 2 == 0? false: true; decNum /= 2; } for(int i = 0; i < binNum.length; i++){ System.out.print(binNum[i]? 1: 0); } System.out.println(); } } }
沒有留言:
張貼留言