|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1192
|
[Java]Conversione in float+consiglio
Ciao!
Ritorno a postare in questa sezione sempre più disperata..In realtà, prima di passare al programma in oggetto, vi vorrei chiedere una cosa..è da poco più di un mese che studio informatica ma, sia perché la prof è un po' impedita a spiegare, sia perché io non ho mai programmato e, se le cose mi vengono spiegate in fretta, non ci capisco un tubo, mi sto trovando veramente in difficoltà..sto cercando di studiare la teoria per conto mio sul libro, e fin lì vabbè, ce la posso fare (anche se alcuni argomenti non ci sono..), ma quel che non mi riesce proprio sono gli esercizi di programmazione..di quelli che ci assegna, me ne riescono veramente pochissimi, e non so cosa fare..ci sto davanti ore e ore ma non ne vengo fuori, è possibile?? cosa posso fare, secondo voi, per migliorare? Io la buona volontà ce la metto tutta, ci sto perdendo dietro un sacco di tempo, ma a vedere che non mi riesce un tubo mi sento ancora più demoralizzata.. Scusate per lo sfogo..
__________________
blue_blue: nickname proprio di persona, femminile, singolare "Wait, before you close the curtain/There’s still another game to play/And life is beautiful that way"(Beautiful that way, Noa & Nicola Piovani) Fiore, sei un mito
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
prova così:
int qualcosa = 10, qualcos_altro = 3; float num = (float) qualcosa/qualcos_altro; |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Io ti consiglio di provare qualche corso di java che trovi su internet, puoi vedere su html.it oppure cercando ho trovato questo: http://www.corsojava.it/videocorso/
giusto per acquisire delle basi solide ed avere le idee un po' più chiare, e anche per fare esperienza con degli esercizi pratici guidati. La cosa peggiore è provare e riprovare e non giungere mai a nulla per questo è importante avere una guida di riferimento almeno all'inizio. In seguito capirai che nessuno è in grado di fare tutto da solo e dei dubbi vengono sempre quindi non demoralizzarti e chiedi senza farti troppi scrupoli. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1192
|
Quote:
ieri sera alla fine ero talmente demoralizzata che non ho neanche scritto qual è il nuovo programma che mi sta facendo impazzire: sostanzialmente dovrei fare in modo che, dato un qualsiasi numero reale (con parte intera o decimale o tutte e due), mi venga restituita la sua rappresentazione a 32 bit.. Dopo un intenso pomeriggio, sono arrivata in un modo o nell'altro alla fine dell'algoritmo..che però non funziona con tutti i numeri E' abbastanza lunghino (probabilmente c'è molta roba inutile, ma che io non vedo ), se andate meglio lo posto tutto..intanto vi metto la prima parte, che è quella che è sicuramente sbagliata (soprattutto nell'ultimo blocco) ma non so davvero come sistemarla; praticamente è il passaggio in cui converte la parte intera del reale in binario e ci sono da sistemare i resti nell'ordine giusto:Codice:
import java.util.Scanner;
import java.util.Locale;
public class Pezzoconvert
{
public static void main (String[] args)
{
Scanner in = new Scanner (System.in);
in.useLocale(Locale.US);
System.out.println ("Inserire il numero da convertire");
double numero = in.nextDouble(); //inserisco il numero da convertire
System.out.println (" Il numero inserito e' "+numero);
int pi = (int) Math.abs(numero) /1; // definisco la parte intera del numero
double pf = Math.abs(numero )- pi; // definisco la parte decimale del numero
int[] binario = new int [32];
int resto = -1;
int resto2;
int resto3;
int contatore = 0;
int contatore2 = 0;
int esponente=0;
int i=9;
int k=9;
int v =8;
double molt;
// converto la parte intera in binario e assegno i resti all'array dal primo all'ultimo
System.out.println ("La parte frazionaria del numero e': "+pf);
System.out.print ("I resti in ordine inverso sono : ");
while (pi != 0 )
{
resto = pi % 2;
pi = pi / 2;
binario [i] = resto;
System.out.print (binario[i]);
i++;
contatore++;
}
System.out.println ("\nSono state effettuate "+contatore+" divisioni");
//inserisco la virgola (e' il numero 2)
binario[ 9 + contatore] = 2;
//scambio i resti per farli mettere nell'ordine "corretto" (dall'ultimo al primo)
for (i = 8 + contatore; i> 8+(contatore/2); i--)
{
for (k = 9; k <9+(contatore/2) ; k++)
{
int sc = binario [k];
binario [k] = binario [i];
binario [i] = sc;
}
}
__________________
blue_blue: nickname proprio di persona, femminile, singolare "Wait, before you close the curtain/There’s still another game to play/And life is beautiful that way"(Beautiful that way, Noa & Nicola Piovani) Fiore, sei un mito
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1192
|
Wow, ho fatto un passone avanti!
Adesso riesco a farlo funzionare con tutti i numeri con parte intera diversa da 0, positivi e negativi..madò sono troppo contenta però ci sono ancora i numeri compresi tra -1 e 1 che mi danno rogne..se lo posto c'è qualche buon'anima che ha voglia di aiutarmi a trovare l'errore? Grazie EDIT: non mi fa allegare il file ..lo incollo in un post, anche se viene lunghissimo??
__________________
blue_blue: nickname proprio di persona, femminile, singolare "Wait, before you close the curtain/There’s still another game to play/And life is beautiful that way"(Beautiful that way, Noa & Nicola Piovani) Fiore, sei un mito
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:30.












), se andate meglio lo posto tutto..intanto vi metto la prima parte, che è quella che è sicuramente sbagliata (soprattutto nell'ultimo blocco) ma non so davvero come sistemarla; praticamente è il passaggio in cui converte la parte intera del reale in binario e ci sono da sistemare i resti nell'ordine giusto:
..lo incollo in un post, anche se viene lunghissimo??








