Operatore modulo
Fa parte della sezione Fondamenti del percorso C++ di Coddy. Lezione 17 di 74.
L'operatore modulo % restituisce il resto di una divisione. In C++ si usa con una sintassi semplice:
result = dividend % divisor;- dividend: Il numero da dividere.
- divisor: Il numero per cui si divide il dividendo.
- result: Il resto della divisione.
Per esempio:
result = 10 % 3;Qui, 10 viene diviso per 3. 3 entra in 10 tre volte, con un resto di 1. Quindi, result sarà 1.
Di solito il modulo si usa per verificare se un numero è pari o dispari:
- Se un numero è pari, dividendolo per 2 il resto sarà 0.
- Se un numero è dispari, dividendolo per 2 il resto sarà 1.
Quando lavori con numeri in virgola mobile (double) in C++, non puoi usare direttamente l'operatore modulo %. Devi invece usare la funzione fmod() della libreria <cmath>. Funziona in modo simile all'operatore modulo, ma mantiene la precisione decimale. Per esempio:
#include <cmath>
double result = fmod(5.2, 2.0);
// result è 1.2Ecco come funziona: 2.0 sta in 5.2 due volte (4.0) e il resto è 1.2 (5.2 - 4.0 = 1.2).
Un altro esempio:
double result = fmod(7.8, 3.5);
// result è 0.8Quando il divisore è maggiore del dividendo, il risultato è uguale al dividendo. Questo vale sia per % sia per fmod().
5 % 10 = 5
3 % 7 = 3
fmod(2.5, 8.0) = 2.5Perché? Il divisore ci sta zero volte, quindi l'intero dividendo è il resto.
Sfida
PrincipianteScrivi un codice che inizializzi tre variabili, a (int), b (double) e c (int) con i valori 9, 2.6 e 11 (rispettivamente).
Dopodiché, inizializza le seguenti variabili:
d (int)che conterrà il risultato diamodulo2e (int)che conterrà il risultato diamodulo3f (double)che conterrà il risultato dibmodulo1.5g (double)che conterrà il risultato dibmodulo3.9h (int)che conterrà il risultato dicmodulo10
Controlla il risultato e osserva come dividendi e divisori diversi influiscono sul risultato.
Provalo tu
#include <iostream>
#include <cmath>
int main() {
// Scrivi il tuo codice qui sotto
// Non modificare la riga qui sotto
std::cout << "a = " << a << std::endl;
std::cout << "b = " << b << std::endl;
std::cout << "c = " << c << std::endl;
std::cout << "d = " << d << std::endl;
std::cout << "e = " << e << std::endl;
std::cout << "f = " << f << std::endl;
std::cout << "g = " << g << std::endl;
std::cout << "h = " << h << std::endl;
return 0;
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloIncremento/DecrementoPost-incremento/Post-decrementoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Fondamenti di input/output
Istruzione coutIstruzione cinInserimento di stringheRipasso - Fino a 120Ripasso - Vero o falso3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneRiepilogo - Inizializzare le variabiliConversione di tipo Parte 1Conversione di tipo Parte 26Decisioni
Istruzione ifIf-elseIstruzione switchOperatore condizionaleRiepilogo - If-elseIf-else annidatiEsercitati da solo: Compilatore C++ online