Bedste svar
Computere ved intet. De får at vide betydningen af noget.
De kunne være kodet under ethvert skema og afkodet under den samme ordning for at gøre noget meningsfuldt. De mest populære kodningsordninger er ASCII udvidet og UNICODE (såsom UTF-8, UTF- 16 osv.), Men du kan også designe dine egne. Det eneste problem er bærbarheden af data. Alle data, der er kodet under dit skema, kan se affald ud på en maskine, der ikke bruger dit kodningsskema.
Når vi designer en software til computeren, beslutter vi programmørerne, at hvad skal {} og [] betyde i vores software . Så betydningen af {} og [] afhænger af kontekst af software.
C11 , den nuværende standard for C-programmeringssprog i kodet i Unicode (sandsynligvis UTF-8), dog er {og} yderligere kodet på C-sprog til at repræsentere blok af kode som i eksemplet nedenfor:
#include
int main()
{
// printf() displays the string inside quotation
printf("Hello, World!");
return 0;
}
I Cascading Style Sheets (CSS) er {og} yderligere kodet for at repræsentere erklæringsblok som i eksemplet nedenfor:
p {
color: red;
text-align: center;
}
Kort sagt, på computeren, {} og [] kunne betyde hvad som helst og som defineret af en programmør i sin software. I matematik har de følgende betydning Beslag (matematik) – Wikipedia
Svar
I moderne programmeringssprog i stedet for at kræve flere instruktioner for at øge, mindske, formere, dele eller modulere en værdi og gemme den i en variabel, kan du gøre disse i en instruktion. Mens nogle sprog allerede giver en metode til at gøre noget af dette (som jeg også viser i mit eksempel), gør nogle sprog det ikke.
Hvordan du bliver nødt til at opnå dette på andre sprog:
x = x + 1; //also x++; or ++x;
x = x - 1; //also x--; or --x;
x = x * 2;
x = x / 2;
x = x \% 3;
Den “genvej” måde:
x += 1;
x -= 1;
x *= 2;
x /= 2;
x \%= 3;
På de fleste sprog, der understøtter denne funktionalitet, gør disse nøjagtigt det samme som min første kodeblok, men tager kortere plads. Den virkelige anvendelse af addition og subtraktion er, at du kan erstatte en variabel eller et andet beløb for at tilføje / trække, som du ikke kan gøre med unary ++ og – – operatorerne. Lad os sige, at du arbejder på et ret stort spil, og du arbejder på det alene. For at spare tid vil du bruge den korteste mængde at skrive for at opnå de samme ting. Det er her disse kommer ind for at spille, da de har nøjagtig samme driftshastighed som at skrive alt ud og udføre på nøjagtigt de samme måder (bortset fra ++x
og --x
, der returnerer deres værdi EFTER operationen i modsætning til før den sammenlignet med x++
og x--
) .
Så overvej følgende eksempel på den virkelige verden (selvom nogle ting åbenlyst mangler, såsom kontrol af grænser og kollisioner):
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;
}
Selvom dette kun sparer en lille smule at skrive, tilføjer den lille smule, når du har tusindvis af linjer med kode. Det ser også pænere ud end at have en variabel indstillet til sig selv + / – / * / etc en værdi og kan være lettere at læse for nogle mennesker. Når jeg programmerer på et sprog, der understøtter denne funktionalitet, bruger jeg kun den måde at gøre det på.