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;- dividendo: Il numero da dividere.
- divisore: Il numero che divide il dividendo.
- risultato: Il resto della divisione.
Per esempio:
result = 10 % 3;Qui, 10 viene diviso per 3. Il 3 è contenuto 3 volte nel 10, con un resto di 1. Quindi, result sarà 1.
Di solito si usa il modulo 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, oppure -1 se il numero è negativo.
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 del codice che inizializzi tre variabili, a (int), b (double) e c (int) con i valori 9, 2.6 e 11 (rispettivamente).
Successivamente, inizializza le seguenti variabili:
d (int)che conterrà il risultato del modulo diaper2e (int)che conterrà il risultato del modulo diaper3f (double)che conterrà il risultato del modulo dibper1.5g (double)che conterrà il risultato del modulo dibper3.9h (int)che conterrà il risultato del modulo dicper10
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