Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-04-2007, 21:27   #1
cataleen
Member
 
L'Avatar di cataleen
 
Iscritto dal: Mar 2006
Città: Torino
Messaggi: 128
[C] Divisione semplicissima.

Ragazzi ma 10 / 7 e' 1.428571429, vero?

In C ho fatto questo programma
Codice:
#include <stdio.h>

int main() {
	float _number;
	_number = 10 / 7;
	
	printf("%f\n", _number);
}
Come mai mi da 1.000000 come risultato? L'IDE mi da anche questo messaggio "File.c:8: Warning: control reaches end of non-void function.". Grazie.
__________________
Blog.
cataleen è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 21:34   #2
mapomapo
Senior Member
 
L'Avatar di mapomapo
 
Iscritto dal: May 2005
Città: Bari
Messaggi: 349
x.xxxxxx
è la formattazione %f

in pratica se tu chiami la funzione

printf("%f", variabile_float);

ti verrà sempre stampato a schermo un numero seguito da 6 cifre decimali

Vito

EDIT:
ops avevo letto male...prova a fare innanzitutto
float number;

poi metti le parentesi
number=(10/7);

e vedi che succede...scusami avevo male interpretato il quesito per questo all'inizio la risposta è diversa...

P P S
ho provato a compilare e mi dà lo stesso errore...ho provato a fare il cast esplicito a float e niente....
se però inserisco 10 e 7 in due variabili float distinte allora il tutto funziona :o
__________________
Si può vincere una guerra in due...o forse anche da solo. Si può estrarre il cuore anche al più nero assassino, ma è più difficile cambiare un'idea!

Ultima modifica di mapomapo : 03-04-2007 alle 21:40.
mapomapo è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 21:41   #3
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da cataleen Guarda i messaggi
Ragazzi ma 10 / 7 e' 1.428571429, vero?

In C ho fatto questo programma
Codice:
#include <stdio.h>

int main() {
	float _number;
	_number = 10 / 7;
	
	printf("%f\n", _number);
}
Come mai mi da 1.000000 come risultato? L'IDE mi da anche questo messaggio "File.c:8: Warning: control reaches end of non-void function.". Grazie.
prova con:
_number = 10.0 / 7.0;
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 21:44   #4
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
esatto..mettendo le parentesi e basta non ho ben capito cosa sarebbe dovuto cambiare
cmq il modo più elegante e più portabile tra i vari compilatori secondo me è fare il casting esplicito degli interi a float:
Codice:
_number = (float)10/(float)7
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 21:45   #5
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
Quote:
Originariamente inviato da mapomapo Guarda i messaggi
P P S
ho provato a compilare e mi dà lo stesso errore...ho provato a fare il cast esplicito a float e niente....
se però inserisco 10 e 7 in due variabili float distinte allora il tutto funziona :o
impossibile che non funzioni il casting esplicito..forse sbagli a farlo
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 21:51   #6
mapomapo
Senior Member
 
L'Avatar di mapomapo
 
Iscritto dal: May 2005
Città: Bari
Messaggi: 349
Quote:
Originariamente inviato da loris_p Guarda i messaggi
impossibile che non funzioni il casting esplicito..forse sbagli a farlo
sì nella fretta non avevo fatto altro che castare a float l'espressione ovvero
(float)(10/7)....ma ovviamente restituisce 1.000000

VIto
__________________
Si può vincere una guerra in due...o forse anche da solo. Si può estrarre il cuore anche al più nero assassino, ma è più difficile cambiare un'idea!
mapomapo è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 21:53   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da cataleen Guarda i messaggi
Codice:
	float _number;
	_number = 10 / 7;
Ma i due operandi sono interi, pertanto è una divisione intera, non floating-point.

_number = 10.0f / 7;

oppure

_number = (float) 10 / 7;

In entrambi i casi il primo operando diventa float (quindi pure l'altro viene portato a float per eseguire la divisione).
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 22:18   #8
cataleen
Member
 
L'Avatar di cataleen
 
Iscritto dal: Mar 2006
Città: Torino
Messaggi: 128
grazie a tutti. mi viene piu facile fare 10.0 / 7. grazie. ciao.
__________________
Blog.
cataleen è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 23:01   #9
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
attenzione però che il casting implicito non sarebbe una bella pratica, visto che è il compilatore e non l'utente che decide se castare l'altro int a float o viceversa introducendo quindi potenziali rischi di portabilità del codice sorgente tra diversi compilatori o tra diverse versioni degli stessi..
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 23:46   #10
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
Quote:
Originariamente inviato da cataleen Guarda i messaggi
Ragazzi ma 10 / 7 e' 1.428571429, vero?

In C ho fatto questo programma
Codice:
#include <stdio.h>

int main() {
	float _number;
	_number = 10 / 7;
	
	printf("%f\n", _number);
}
Come mai mi da 1.000000 come risultato?
Alla riga 5, l'operando destro dell'assegnazione è un'espressione costituita da due costanti di tipo int e dall'operatore di divisione.
Tale espressione ha tipo int, e valore 1, perché il quoziente della divisione di 10 per 7 è 1.
Essendo l'operando sinistro di tipo float, il valore int 1 viene convertito nel valore float 1.0.
Quote:
L'IDE mi da anche questo messaggio "File.c:8: Warning: control reaches end of non-void function.". Grazie.
Non hai messo un valore di ritorno a main, che è giustamente di tipo int.
Usa il valore 0 per indicare la terminazione corretta.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Recensione HUAWEI FreeBuds Neo, piccoli ...
TSMC aumenta i costi di produzione: AMD ...
260 miliardi all'anno risparmiati per i ...
One UI 9 arriva sui Galaxy S26: pi&ugrav...
Hacker chiedono 2,5 milioni di euro a Re...
Home Assistant su uno schermo touch econ...
L'IA entra nei negozi Unieuro con Google...
"What Holds Us", la nuova most...
La Formula 1 divide sui motori, ma il su...
Un computer a DNA esegue moltiplicazioni...
Ibride cinesi, l'Europa fissa il tetto a...
iPhone Duo potrebbe dar vita a una gamma...
Denza Z9S: la berlina elettrica con il r...
Valve abilita i driver e il supporto all...
Terafab, il progetto di Musk finisce in ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v