Cosa significano i segni “?” E “\%” nella codifica del computer


Migliore risposta

A seconda del linguaggio di programmazione possono avere significati diversi.

Ad esempio in Javascript? è operatore condizionale (ternario) e\% è operatore resto degli operatori aritmetici

In Oracle SQL? è un segnaposto per parametri dinamici e\% corrisponde a 0 o più caratteri dai dati in LIKE clausole.

In Mathematica? viene utilizzato per PatternTest e\% è utilizzato come abbreviazione per loperazione Out .

Devi essere più specifico sulla lingua in cui stai scrivendo, per ottenere una risposta più specifica.

Risposta

Dipende (ovviamente) dal linguaggio di programmazione. Tuttavia, luso di gran lunga più comune è quello della famiglia di linguaggi C, dove è loperatore che confronta per luguaglianza. C usa “=” per lassegnazione e C consente anche di eseguire lassegnazione quasi ovunque, quindi non possono usarlo anche per il confronto. Pertanto, lhanno scritto due volte per fare il confronto.

Per i tipi interi e altri tipi semplici come booleano e caratteri, è più o meno semplice. 42 == 42 è vero e 42 == 47 è falso. La virgola mobile aggiunge alcuni casi dangolo (in poche parole, perché la virgola mobile sempre aggiunge casi dangolo a tutto!). Per oggetti più complessi, diventa più complicato. Ad esempio, in Java, “==” significa “esattamente lo stesso oggetto” (come in, risiede nella stessa posizione di memoria) quando applicato agli oggetti e si suppone che si utilizzi il metodo equals () per la maggior parte dei confronti. Il metodo equals () è implementato come == per impostazione predefinita ma puoi sovrascriverlo per adattarlo alle tue esigenze (purché tu segua alcune restrizioni ragionevoli e ti ricordi di regolare i metodi correlati, in particolare hashCode (), di conseguenza). In linguaggi come il C ++, beh, chi lo sa? C ++ ti permette di sovraccaricare gli operatori. (A volte è fantastico, a volte è solo molto confuso.)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *