Beste svaret
Datamaskiner vet ingenting. De blir fortalt betydningen av noe.
De kan være kodet under ethvert skjema og dekodet under samme ordning for å gjøre noe meningsfylt. De mest populære kodingsskjemaene er ASCII utvidet og UNICODE (som UTF-8, UTF- 16 osv.), Men du kan designe din egen også. Det eneste problemet vil være bærbarheten av data. Alle data som er kodet under skjemaet ditt, kan se søppel på en maskin som ikke bruker kodingsskjemaet ditt.
Når vi designer en programvare for datamaskiner, bestemmer vi programmererne at hva som skal {} og [] bety i programvaren vår. . Så betydningen av {} og [] avhenger av kontekst av programvaren.
C11 , den gjeldende standarden for C-programmeringsspråk, i kodet i Unicode (sannsynligvis UTF-8), men {og} er imidlertid kodet videre i C-språk for å representere kodeblokk som i eksemplet nedenfor:
#include
int main()
{
// printf() displays the string inside quotation
printf("Hello, World!");
return 0;
}
I Cascading Style Sheets (CSS) blir {og} videre kodet for å representere erklæringsblokk som i eksemplet nedenfor:
p {
color: red;
text-align: center;
}
Kort sagt, på datamaskinen, {} og [] kan bety hva som helst og som definert av en programmerer i programvaren. I matematikk har de følgende betydning Brakett (matematikk) – Wikipedia
Svar
I moderne programmeringsspråk, i stedet for å kreve flere instruksjoner for å øke, redusere, multiplisere, dele eller modulere en verdi og lagre den i en variabel, kan du gjøre disse i en instruksjon. Mens noen språk gir en metode for å gjøre noe av dette allerede (som jeg også vil vise i mitt eksempel), gjør det ikke noen språk.
Hvordan du må oppnå dette på andre språk:
x = x + 1; //also x++; or ++x;
x = x - 1; //also x--; or --x;
x = x * 2;
x = x / 2;
x = x \% 3;
«Snarvei» -veien:
x += 1;
x -= 1;
x *= 2;
x /= 2;
x \%= 3;
På de fleste språk som støtter denne funksjonaliteten, gjør disse nøyaktig det samme som min første kodeblokk, men tar opp kortere plass. Den virkelige bruken for tillegg og subtraksjon er at du kan erstatte en variabel eller et annet beløp for å legge til / trekke fra, noe du ikke kan gjøre med unary ++ og – – operatorene. La oss si at du jobber med et ganske stort spill, og at du jobber med det alene. For å spare tid, vil du bruke den korteste mengden å skrive for å oppnå de samme tingene. Det er her disse kommer inn for å spille, siden de har nøyaktig samme driftshastighet som å skrive alt ut, og utfører på nøyaktig samme måter (bortsett fra ++x
og --x
, som returnerer verdien ETTER operasjonen, i motsetning til før den sammenlignet med x++
og x--
) .
Så vurder følgende eksempel fra den virkelige verden (selv om noen ting åpenbart mangler, for eksempel å sjekke grenser og kollisjoner):
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;
}
Selv om dette bare sparer litt å skrive, blir det litt når du har tusenvis av linjer med kode. Det ser også bedre ut enn å ha en variabel satt til seg selv + / – / * / etc en verdi og kan være lettere å lese for noen mennesker. Når jeg programmerer på et språk som støtter denne funksjonaliteten, bruker jeg bare den måten å gjøre det på.