2017年9月17日 星期日

[C_MM18-易] 十進制轉二進制(Java, C++)

[C_MM18-易] 十進制轉二進制

JAVA

  1. import java.util.*;  
  2. import java.lang.*;  
  3. import java.io.*;  
  4. import java.util.Arrays;   
  5.   
  6. public class Main  
  7. {  
  8.     public static void main(String[] args)   
  9.     {  
  10.         int num;  
  11.         int judgment = 0;  
  12.         int[] a = new int[8];  
  13.         a[0] = 0;  
  14.         Scanner sc = new Scanner(System.in);  
  15.         num = sc.nextInt();  
  16.   
  17.         if(num > 0 && num <= 127)  
  18.         {  
  19.             for(int i = 1;i < 8;i++)  
  20.             {  
  21.                 if(num >= Math.pow(2,(7-i)))  
  22.                 {  
  23.                     num = num - (int)(Math.pow(2,(7-i)));  
  24.                     a[i] = 1;     
  25.                 }  
  26.                 else  
  27.                 {  
  28.                     a[i] = 0;  
  29.                 }  
  30.             }  
  31.         }  
  32.         else if(num == -128)  
  33.         {  
  34.             a[0] = 1;  
  35.         }  
  36.         else if(num < 0 && num > -128)  
  37.         {  
  38.             for(int i = 1;i < 8;i++)  
  39.             {  
  40.                 if((-num) >= Math.pow(2,(7-i)))  
  41.                 {  
  42.                     num = num + (int)(Math.pow(2,(7-i)));  
  43.                     a[i] = 1;  
  44.                 }  
  45.                 else  
  46.                 {  
  47.                     a[i] = 0;  
  48.                 }  
  49.             }  
  50.               
  51.             for(int i = 7;i >= 0;i--)  
  52.             {  
  53.                 if(judgment != 0)  
  54.                 {  
  55.                     if(a[i] == 0)  
  56.                     {  
  57.                         a[i] = 1;  
  58.                     }  
  59.                     else  
  60.                     {  
  61.                         a[i] = 0;  
  62.                     }  
  63.                 }     
  64.                   
  65.                 if(a[i] == 0)  
  66.                 {  
  67.                     a[i] = 0;  
  68.                 }  
  69.                 else  
  70.                 {  
  71.                     a[i] = 1;  
  72.                     judgment++;  
  73.                 }         
  74.             }  
  75.         }  
  76.         for(int i = 0;i < a.length;i++)  
  77.         {  
  78.             System.out.print(a[i]);  
  79.         }  
  80.         System.out.println();  
  81.     }  
  82. }  

C++

  1. #include<iostream>  
  2. #include<iomanip>  
  3. #include <math.h>  
  4.   
  5. using namespace std;  
  6.   
  7. int main() {  
  8.     int num;  
  9.     int judgment = 0;    
  10.     int a[8] = {0};  
  11.     while(cin >> num)  
  12.     {  
  13.         if(num > 0 && num <= 127)    
  14.         {    
  15.             for(int i = 1;i < 8;i++)    
  16.             {    
  17.                 if(num >= pow(2,(7-i)))    
  18.                 {    
  19.                         num = num - (int)(pow(2,(7-i)));    
  20.                         a[i] = 1;       
  21.                 }    
  22.                    else    
  23.                    {    
  24.                        a[i] = 0;    
  25.                    }    
  26.             }    
  27.         }    
  28.         else if(num == -128)    
  29.         {    
  30.             a[0] = 1;    
  31.         }    
  32.         else if(num < 0 && num > -128)    
  33.         {    
  34.               for(int i = 1;i < 8;i++)    
  35.               {    
  36.                 if((-num) >= pow(2,(7-i)))    
  37.                 {    
  38.                         num = num + (int)(pow(2,(7-i)));    
  39.                         a[i] = 1;    
  40.                 }    
  41.                 else    
  42.                 {    
  43.                     a[i] = 0;    
  44.                 }    
  45.             }    
  46.                 
  47.             for(int i = 7;i >= 0;i--)    
  48.             {    
  49.                 if(judgment != 0)    
  50.                 {    
  51.                     if(a[i] == 0)    
  52.                         {    
  53.                             a[i] = 1;    
  54.                         }    
  55.                         else    
  56.                         {    
  57.                             a[i] = 0;    
  58.                         }    
  59.                 }       
  60.                     
  61.                 if(a[i] == 0)    
  62.                    {    
  63.                     a[i] = 0;    
  64.                    }    
  65.                 else    
  66.                 {    
  67.                     a[i] = 1;    
  68.                     judgment++;    
  69.                 }    
  70.                }    
  71.         }    
  72.     
  73.         for(int i = 0;i < 8;i++)    
  74.         {    
  75.             cout << a[i];    
  76.         }    
  77.         cout << "" << endl;    
  78.     return 0;  
  79.     }  
  80. }  


沒有留言:

張貼留言