Dec2Bin convertitore in binario in bennu

Spazio dedicato al linguaggio BennuGD per programmare videogiochi sulle nostre openconsole
Avatar utente
gigios
Newser OC.it
Newser OC.it
Messaggi: 851
Iscritto il: 4 mag 2011, 9:08
Console open: Wiz; Caanoo
Località: Lombardia

Re: Dec2Bin convertitore in binario in bennu

Messaggioda gigios » 8 giu 2011, 11:59

Toglilo pure, era una prova di una funzione trovata sul forum (Frac) che dovrebbe tornare la parte di 'resto' di un float.
Il 'numeraccio' probabilmente è dato dagli arrotondamenti.

Quello che a te interesse dovrebbe essere solo la parte relativa al mod, ovvero dove viene 'settata' la variabile binario.
Immagine

Avatar utente
gigios
Newser OC.it
Newser OC.it
Messaggi: 851
Iscritto il: 4 mag 2011, 9:08
Console open: Wiz; Caanoo
Località: Lombardia

Re: Dec2Bin convertitore in binario in bennu

Messaggioda gigios » 8 giu 2011, 12:56

Questa è la funzione che ho provato ad aggiungere al tuo esempio, chiamandola poi internamente dove premi i tasti.

Codice: Seleziona tutto

FUNCTION string NumberToBinString (int number)
PRIVATE
   string resultString;
   int n;
BEGIN
   n = number;
   resultString = "";
   while(n >= 1)
      resultString = (n mod 2) + resultString;
      n = n / 2;
   end
   say (resultString);
   RETURN resultString;
END


Mettendo il say prima rel return vedo il valore corretto nella console, ma se metto il valore tornato dalla funzione in una variabile 'plottata' poi con un write_string ottengo dei numeri (sembra la somma di qualche cosa...)
Immagine

Avatar utente
Zip
Site Admin
Messaggi: 3094
Iscritto il: 3 mag 2011, 21:03
Console open: Attuali Caanoo , Wiz, dingoo a320 (possedute Wiz, s7100B, s5110, s7300B, OpenPandora)
Località: Sicilia
Contatta:

Re: Dec2Bin convertitore in binario in bennu

Messaggioda Zip » 8 giu 2011, 15:09

bene gigios ora aspetto che posti la tua ultima versione e iniziamo a lavorare all'aggiunta della possibilita
di inserire manualmente il numero da convertire

Avatar utente
gigios
Newser OC.it
Newser OC.it
Messaggi: 851
Iscritto il: 4 mag 2011, 9:08
Console open: Wiz; Caanoo
Località: Lombardia

Re: Dec2Bin convertitore in binario in bennu

Messaggioda gigios » 8 giu 2011, 16:12

Eccomi qui, scusa il ritardo nella risposta :P

Questa è la versione 'riadattata' da me:

Codice: Seleziona tutto

//-----------------------------------------------------------------------------
//CONVERTITORE v.0.3

//-----------------------------------------------------------------------------
//Declare of internal functions
Declare FUNCTION string IntToBinString (int value)
End
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
//Main Process
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Constants
const version=0.3;      // Application Version
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Main Process Variables
LOCAL

int    numberInt;      //Int number to convert
string binaryString;   //Binary string with converted value
byte   last_ascii;      //Last ascii key pressed

END
//-----------------------------------------------------------------------------

BEGIN
   set_mode(320,240,16);
   
   //-----------------------------------------------------------------------------
   //Display information
   write(0,10,5,0,"dec2bin v"+ FTOA(version));
   write(0,10,15,0,"Press a number key!");

   write(0,120,30,0,"Numero  :=>:");
   write_int(0,210,30,0,&numberInt);
   
   write(0,120,40,0,"Binario :=>:");
   write_string(0,210,40,0,&binaryString);
   //-----------------------------------------------------------------------------
   
   //-----------------------------------------------------------------------------
   //Main Loop
   loop
      if(ascii!=0 & last_ascii!=ascii)
         last_ascii = ascii;
         
         //Convert key pressed into number (ascii 0 = 48)
         numberInt = ascii-48;
         if(numberInt=>0 & numberInt<=9)
            binaryString = IntToBinString(numberInt);
         else
            binaryString = "none";
         end
      end

      if(key(_esc))
         exit("Press ESC to close console window!", 0);
      end

      frame;
   end
   let_me_alone();
END
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Convert the integer in the Binary string
// value (int) = value to convert
// Return (string) = Binary string (ex. 9 = "1001")
FUNCTION string IntToBinString (int value)
PRIVATE
   int n;
   string resultString;
BEGIN
   n = value;
   if(n <= 0) RETURN "0"; end
   
   resultString = "";
   while(n >= 1)
      resultString = (n mod 2) + resultString;
      n = n / 2;
   end
   //say (resultString);
   RETURN resultString;
END
//-----------------------------------------------------------------------------


Ho modificato leggermente il programma per fare dei test su Bennu (sfrutto questo piccolo programmino anche per farmi un'infarinatura).
Per provarlo devi premere uno dei tasti numerici e dovrebbe apparire la corrispondente rappresentazione binaria.

Ciao.
Immagine

Avatar utente
Zip
Site Admin
Messaggi: 3094
Iscritto il: 3 mag 2011, 21:03
Console open: Attuali Caanoo , Wiz, dingoo a320 (possedute Wiz, s7100B, s5110, s7300B, OpenPandora)
Località: Sicilia
Contatta:

Re: Dec2Bin convertitore in binario in bennu

Messaggioda Zip » 8 giu 2011, 16:37

Ottimo gigios se vuoi lo presentiamo sul forum di bennu ancora nessuno ha fatto un lavoro di questo tipo :)

adesso basandomi su questo faro l'orologio (in questi giorni ovviamente devo finire la webzine)
bravo gigios ;)

Avatar utente
gigios
Newser OC.it
Newser OC.it
Messaggi: 851
Iscritto il: 4 mag 2011, 9:08
Console open: Wiz; Caanoo
Località: Lombardia

Re: Dec2Bin convertitore in binario in bennu

Messaggioda gigios » 8 giu 2011, 17:09

Non mi sembra un gran che ;)
Sicuramente mi è servito come 'punto' di partenza, almeno ho provato (pochissimo) bennu e mi rendo conto che non è proprio come gli strumenti di 'lavoro' che uso tutti i giorni.

Non avere un help in linea o comunque un editor che suggerisca la sintassi e i parametri disponibili fa diventare ardua la programmazione.
E' vero che sino a 10 anni fa era così che si lavorava (considerando che ho cominciato così e mi ero fatto un editor in VB4 poi portato in VB6 per l'azienda in cui lavoravo), ora però con gli strumenti che ci sono/usano tornare indietro è decisamente scomodo.
Anche il fatto, come accennavo in chat, che la documentazione non sia completa, e tanto meno corretta, è decisamente fuorviante!

Comunque, tornando a noi, proverò ancora a giochicchiare un po' con questa versione ;)
Immagine


Torna a “BennuGD Italia”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite