進位制間的轉換,不使用Interger.toBinaryString(int) 等方法
阿新 • • 發佈:2022-05-27
十進位制轉二進位制
import java.util.Scanner; class Main { public static void main(String[] args){ Scanner input = new Scanner(System.in); int numberNotChange = 0; do{ //獲得輸入de整數 System.out.print("\nEnter a int number: "); numberNotChange = input.nextInt(); int number = numberNotChange; String numbertoBinaryString = ""; //如果為負數變成正數 number = (number >=0 ? number : (0 - number)); //如果為0輸出值並結束程式 if(number == 0) System.out.print(number + " 的二進位制是: 0"); //計算不為0的二進位制值 while(number != 0){ numbertoBinaryString = (number % 2) + numbertoBinaryString; number = number / 2; } //輸出二進位制 if(numberNotChange!=0) System.out.print((numberNotChange > 0) ? numberNotChange + " 的二進位制是: " + numbertoBinaryString : numberNotChange + " 的二進位制是: -" + numbertoBinaryString); }while(numberNotChange != 0); input.close(); } }
十進位制轉十六進位制