|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 133
|
[C] funzione cambiabase!!!!
ciao ragazzi...ho un problemone..che dovrei risolvere entro stasera alle 23.59 (tempo massimo di invio al mio prof) xD
ho creato delle funzioni per un programma pià ampio..ma ho notato che quelle che servono a convertire un numero in base dieci in un altra base definita nel define come K...dà errore con numeri superiori a 1023 per esempio(considerando in base2)... notate qualche errore?? Codice:
#include <stdio.h>
#include <stdlib.h>
#define K 2
unsigned long int cambiabase(unsigned long int n);
unsigned long int contacifre(unsigned long int n);
unsigned long int potenzadidieci(unsigned long int n);
int main(){
unsigned long int c = 0,a;
c = cambiabase(1024);
printf("%ld",c);
return 0;
}
unsigned long int contacifre (unsigned long int n){
unsigned long int p=1;
while( n > 10){
n /= 10;
p++;
}
return p;
}
unsigned long int cambiabase (unsigned long int n){
unsigned long int h = 0, sum = 0;
for( h = 0 ; n > 0 ; h++){
sum = sum + (n%K)*potenzadidieci(h);
n = n/K;
}
return sum;
}
unsigned long int potenzadidieci(unsigned long int n) { // POW in math.h non mi accettava variabili
unsigned long int i, m=1;
for ( i = 0; i < n; i++ )
m = m*10;
return m;
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:36.



















