Meilleure réponse
Les ordinateurs ne savent rien. On leur dit la signification de quelque chose.
Ils pourraient être encodés sous nimporte quel schéma et décodé selon le même schéma pour faire quelque chose de significatif. Les schémas de codage les plus courants sont ASCII étendu et UNICODE (comme UTF-8, UTF- 16 etc.) mais vous pouvez aussi concevoir le vôtre. Le seul problème sera la portabilité des données. Toutes les données encodées selon votre schéma peuvent sembler inutiles sur une machine nutilisant pas votre schéma dencodage.
Lorsque nous concevons un logiciel pour ordinateur, nous, les programmeurs, décidons de ce que doivent signifier {} et [] dans notre logiciel . Ainsi, les significations de {} et [] dépendent du contexte du logiciel.
C11 , la norme actuelle pour le langage de programmation C, en codé en Unicode (probablement UTF-8), cependant, {et} sont encore codés en langage C pour représenter bloc de code comme dans lexemple ci-dessous:
#include
int main()
{
// printf() displays the string inside quotation
printf("Hello, World!");
return 0;
}
Dans les feuilles de style en cascade (CSS), {et} sont en outre codés pour représenter le bloc de déclaration comme dans lexemple ci-dessous:
p {
color: red;
text-align: center;
}
En bref, sur ordinateur, {} et [] pourrait signifier nimporte quoi et tel que défini par un programmeur dans son logiciel. En mathématiques, ils ont la signification suivante Bracket (mathématiques) – Wikipédia
Réponse
Dans les langages de programmation modernes, à la place si vous avez besoin de plusieurs instructions pour incrémenter, décrémenter, multiplier, diviser ou moduler une valeur et la stocker dans une variable, vous pouvez les faire en une seule instruction. Alors que certaines langues fournissent déjà une méthode pour faire cela (que je montrerai également dans mon exemple), certaines langues ne le font pas.
Comment vous devriez accomplir cela dans dautres langues:
x = x + 1; //also x++; or ++x;
x = x - 1; //also x--; or --x;
x = x * 2;
x = x / 2;
x = x \% 3;
La méthode «raccourci»:
x += 1;
x -= 1;
x *= 2;
x /= 2;
x \%= 3;
Dans la plupart des langages qui prennent en charge cette fonctionnalité, ceux-ci font exactement la même chose que mon premier bloc de code, mais prennent moins despace. L’utilité réelle des additions et des soustractions est que vous pouvez remplacer une variable ou une quantité différente à ajouter / soustraire, ce que vous ne pouvez pas faire avec les opérateurs unaires ++ et -. Supposons que vous travaillez sur un jeu assez gros et que vous y travaillez seul. Pour gagner du temps, vous souhaitez utiliser le moins de temps possible pour obtenir les mêmes résultats. Cest là que ceux-ci entrent en jeu, car ils ont exactement la même vitesse de fonctionnement que la saisie de tout, et fonctionnent exactement de la même manière (sauf pour ++x
et --x
, qui renvoient leur valeur APRÈS lopération, par opposition à avant celle-ci par rapport à x++
et x--
) .
Prenons donc lexemple du monde réel suivant (bien que certaines choses manquent manifestement, comme la vérification des limites et des collisions):
if(Keyboard.getKeyPressed(Key\_W) && !Keyboard.getKeyPressed(Key\_D))
{
acceleration -= 0.128f; //we"re subtracting here to change the direction to left
x += deltaTime * acceleration;
}
else if (Keyboard.getKeyPressed(Key\_D) && !Keyboard.getKeyPressed(Key\_W))
{
acceleration += 0.128f;
x += deltaTime * acceleration;
}
Bien que cela ne sauve quun peu de saisie, ce petit peu sadditionne lorsque vous avez des milliers de lignes de code. Cela semble aussi plus agréable que davoir une variable définie sur elle-même + / – / * / etc une valeur et peut être plus facile à lire pour certaines personnes. Lorsque je programme dans un langage prenant en charge cette fonctionnalité, jutilise uniquement cette façon de le faire.