Announcement

Collapse
No announcement yet.

Decimale -> Binario - 2 metodi

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Decimale -> Binario - 2 metodi

    Conversione decimale in binario.
    Un metodo utilizza solo variabili senza alcun operatore booleano, è più costoso in termine di programmazione e di esecuzione ma .... funziona.
    Il secondo utilizza un intero come se fosse uno stack e gli operatori booleani permettono di calcoli bit a bit
    PHP Code:
    #include <st***.h>int main (void){
        /* n è il numero originale,norig è una copia di n, a conta il numero di divisioni di n per 2 in andata,i conta le divisioni di n in ritorno
         *conoscendo a,k è un incremento associato a i per dividere n tot volte diviso 2 in ritorno.*/
        
    int n,norig,a,i,k;
        
    i=0;
        
    printf("Dare un numero intero positivo\n");
        
    scanf("%d",&n);
        while (
    n<=0){
            
    printf("Dare un numero intero positivo\n");
            
    scanf("%d",&n);
        }
        
    norig=n;
        
    /* inizio calcolo ultimo resto in andata in a */
        
    while (n!=0){
            
    a=n%2;
            
    n/=2;
            
    i++;
        }
        
    /* fine calcolo ultimo resto in andata in a */
        
    printf("%d",a);
        
    i--; // ultimo resto già stampato quindi tolgo una divisione
        
    while(i!=0){
            
    n=norig;
            
    k=0;
            while(
    k!=(i-1)){ // il resto è uguale al modulo del dividendo per il divisore, il dividendo è un ordine più grande e quindi i-1
                
    k++;
                
    n/=2;
            }
            
    a=n%2;
            
    printf("%d",a);
            
    i--;
        }
        
    printf("\n");
        return 
    0;

    PHP Code:
    #include <st***.h>int main (void){
        
    unsigned int a=0;
        
    unsigned int b=0;    
        
    int n,r,i,k;
        
    printf("Dare un numero intero positivo\n");
        
    scanf("%d",&n);
        while (
    n<=0){
            
    printf("Dare un numero intero positivo\n");
            
    scanf("%d",&n);
        }
        
    i=0;
        while(
    n!=0){
            
    a<<=1;
            
    i++;
            
    r=n%2;
            
    n/=2;
            
    a|=r;
        }
        
    k=0;
        while(
    k<i){
            
    k=k+1;
            
    b=a&1;
            
    printf("%d",b);
            
    a>>=1;
        }
        
    printf("\n");
        return 
    0;

    | VFX Artist, C++ Programmer, HW Overclocker | Web: xgiovio.com Email: xgiovio@gmail.com Twitter: @xgiovio
Working...
X

Google Profile


My name is Giovanni Di Grezia, but people call me xgiovio.

Here is my homepage:.

I'm a VFX Artist and Software Developer.

Giovanni Di Grezia