Contents ...
udn網路城邦
設計二進位轉十進位的數字系統
2014/12/15 02:08
瀏覽2,302
迴響0
推薦0
引用0

今天剛好有學弟趕著交明天的報告,不會寫來拜託我,就花時間研究了一下這題Fox無言

題目:

進位轉換
設計二進位轉十進位的數字系統
二進位數字有五位數,其中第一位元為符號位元
0: 正,1:
負數使用2的補數表示
00110 - > 6
10111 - > -9

由使用者輸入一個二進位數字,由程式轉換成十進位候輸出顯示

一開始沒頭緒所以花了很多時間再想

最難的是要判斷前面的正負號

(就是第一個數字為1時,負數要使用補數表示)

我覺得我是用一個最簡單的方法去寫的

把所有的組合寫出來再去推斷何時開始要用補數表示

發現從16~31(二進位)開始要用補數表示

這時可以延用前面0~15的程式碼去推斷(我的想法是(32-X))

前面再加個-號就完成了

Java


package a;

import java.util.Scanner;

public class work {

public static void main(String[] args){

Scanner scn = new Scanner(System.in);

String a;

a = scn.nextLine();//輸入字串(二進位數字)

int b = Integer.parseInt(a,2);//將二進位數字轉成十進位

if(b>0 && b<=15){

System.out.println(b);//第一位為0(+)

}else if(b>15 && b<=31){

System.out.println("-" +(32-b)); //第一位為1(-),需用補數表示

}else{

System.out.println("Error!");//輸入錯誤

}

}

}


因為是學弟拜託的所以成就感大增!感動(嘩)

全站分類:知識學習 隨堂筆記
自訂分類:不分類
上一則: 小測驗
下一則: 簡易的猜拳程式
你可能會有興趣的文章:

限會員,要發表迴響,請先登入