Java写十进制和二进制互转
生活随笔
收集整理的這篇文章主要介紹了
Java写十进制和二进制互转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.helong.test;import java.util.Scanner;public class Literals {public static void main(String[] args) {Scanner input = new Scanner(System.in);println("請選擇您要操作項的編號:");println("1.十進制轉二進制\t\t\t2.二進制轉十進制");while (!input.hasNextInt()) {println("您輸入的不是整型,請輸入0-9的數字");input.nextLine();}Scanner input1 = new Scanner(System.in);switch (input.nextInt()) {case 1:println("\t\t\t\t您選擇的是:1.十進制轉二進制");println("請輸入你要轉換的二進制數:");int a = 0;a = input1.nextInt();println("您輸入的十進制數是:" + a + " 轉換成二進制是:" + convertBinary(a));break;case 2:println("\t\t\t\t您選擇的是:2.二進制轉十進制");println("請輸入你要轉換的二進制數:");String b = input1.nextLine();println("您輸入的二進制數是:" + b + " 轉換成十進制數是:"+ convertAlgorism(b.toCharArray()));break;default:println("您輸入的操作編號系統不能識別,系統將自動停止");}input.close();}// 十進制轉換二進制private static String convertBinary(int sum) {StringBuffer binary = new StringBuffer();while (sum != 0 && sum != 1) {binary.insert(0, sum % 2);println("sum=" + sum + "余數=" + (sum % 2) + "除數=" + sum / 2);sum = sum / 2;if (sum == 0 || sum == 1) {binary.insert(0, sum % 2);}}return binary.toString();}// 二進制轉十進制private static int convertAlgorism(char[] cars) {int result = 0;int num = 0;for (int i = cars.length - 1; 0 <= i; i--) {int temp = 2;if (num == 0) {temp = 1;} else if (num == 1) {temp = 2;} else {for (int j = 1; j < num; j++) {temp = temp * 2;}}int sum = Integer.parseInt(String.valueOf(cars[i]));result = result + (sum * temp);num++;}return result;}private static void println(Object info) {System.out.println(info);}private static void print(Object info) {System.out.print(info);}
}
今天抽空研究了下十進制轉換二進制的規則,然后寫成代碼,望觀看的朋友,給出意見,小弟不勝感激
轉載于:https://www.cnblogs.com/helong/archive/2011/04/12/2014019.html
總結
以上是生活随笔為你收集整理的Java写十进制和二进制互转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win32中GBK、UTF8的互转
- 下一篇: 一个好的MIS系统应该考虑哪些内容