single
Utfordring: Usignerte Datatyper
Sveip for å vise menyen
For å representere et tall i det binære systemet, må både verdi og fortegn lagres. Én bit er dedikert til å lagre fortegnet, mens de resterende bitene brukes til å lagre den numeriske verdien. Fortegnsbiten lagrer:
0hvis tallet er ikke-negativt;1hvis tallet er negativt.
Hvis vi er sikre på at variabelen vår kun kan inneholde ikke-negative tall, kan vi benytte unsigned-modifikatoren. Denne modifikatoren muliggjør lagring av verdier uten å ta hensyn til fortegn.
I tillegg, på grunn av økt minne tilgjengelig for å lagre verdien, er området for mulige verdier bredere; negative tall er imidlertid ikke inkludert i dette området. Tillatte områder er derfor som følger:
main.cpp
12345678910#include <iostream> int main() { unsigned int total_vehicles = 1446000000; unsigned short age = 21; std::cout << total_vehicles << std::endl; std::cout << age << std::endl; }
I tillegg finnes det en signed-typemodifikator som indikerer at en datatypen kan romme både positive og negative tall. Men alle numeriske datatyper er som standard signed, så det er ikke nødvendig å spesifisere dette eksplisitt.
Bruk kun unsigned når variabelen ikke kan ha negative verdier.
Å tilordne en negativ verdi til en unsigned-variabel vil ikke gi noen feil, men den resulterende verdien vil være feil.
Swipe to start coding
Du administrerer et lagerstyringssystem. Hvert lager har en maksimal kapasitet, og du vil sikre at påfylling av nytt varelager ikke overskrider denne grensen.
Funksjonen addStock tar tre unsigned int-parametere og returnerer det oppdaterte lagerbeholdningen uten å overstige maksimal kapasitet. Alle verdier er unsigned siden negative antall ikke er mulig.
- Først, sjekk om summen av
stockognewStockoverstigermaxCapacity. - Hvis summen er større enn
maxCapacity, returnermaxCapacityfor å unngå å overskride grensen. - Hvis summen er mindre enn eller lik
maxCapacity, returner summen avstockognewStock.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår