Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Funzioni in C - Conversione di basi (aiuto)

    Ciao programmatori scommetto che per voi è una cazzata (e dovete dimostrarmi che è vero), scrivere 6 funzioni in C (con le seguenti specifiche) che fanno le seguenti conversioni:

    Funzioni per la conversione da base 10 a base 2 e viceversa.
    1) void dec2bin(unsigned int inp, char binstr[32])
    Memorizza la rappresentazione binaria di inp nel vettore binstr.
    Il bit meno significativo è memorizzato in binstr[0].
    I valori di inp sono interi unsigned a 32 bit (ovvero limitati all'intervallo 0…232-1).
    2) unsigned int bin2dec(char binstr[32])
    Ha come valore di ritorno la rappresentazione decimale di binstr.
    Il bit meno significativo è memorizzato in binstr[0].

    Funzioni per la conversione da base 10 a base 16 e viceversa.
    3) void dec2hex(unsigned int inp, char hexstr[8])
    Pone nel vettore hexstr la rappresentazione esadecimale del numero decimale
    contenuto in inp.
    La cifra hex meno significativa è hexstr[0].
    I valori di inp sono interi unsigned a 32 bit.
    4) unsigned int hex2dec(char hexstr[8])
    Ritorna la rappresentazione decimale del numero esadecimale rappresentato dal
    vettore hexstr.

    Funzioni per la conversione da base 10 a 6 e viceversa.
    5) void dec2six(unsigned int inp, char sixstr[13])
    Pone nel vettore sixstr la rappresentazione in base 6 del numero decimale contenuto
    in inp.
    La cifra meno significativa è sixstr[0].
    I valori di inp sono interi unsigned a 32 bit.
    6) unsigned int six2dec(char sixstr[13])
    Ritorna la rappresentazione decimale del numero in base 6 rappresentato dal vettore
    sixstr.



    io non riesco a venirne a capo... grazie in anticipo...

  2. #2
    Cos'è ? Non vuoi fare i compiti?

    Scrivi almeno 4 righe di codice.

  3. #3
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4


    non è che non voglio fare i compiti ma non riesco a venirne fuori... ho provato in tutti i modi ma non ci riesco...
    è la verità... era solo perchè magari se mi davate delle idee, riuscivo a sboccarmi...

  5. #5
    converte in esadecimale

    Codice PHP:
    int main()
    {    
      
    int numero=4568;
      
    int i=0;
      
    char hexstr[8]="0000000";
                     
      
    sprintf hexstr "%x" numero);
      
    printf"%s " hexstr ); 
        
      
    system("PAUSE");    
      return 
    0;



  6. #6
    Usa la funzione ltoa è molto potente converti da numero (long int) a stringa (char) in qualsiasi base da 2 a 36...

    long int ValoreLongInt = 0L;
    char StringaCodificata[20], *pDum;
    int BaseConv = 16;

    pDum = ltoa (ValoreLongInt, StringaCodificata, BaseConv);

    La funzione inversa è la strtoul. Converte da stringa a long int secondo la base specificata

    ValoreLongInt = strtoul(StringaCodificata, &pDum, BaseConv);

    Spero ti siano utili


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.