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 bruke unsigned-modifikatoren. Denne modifikatoren gjør det mulig å lagre verdier uten å ta hensyn til fortegn.
I tillegg, på grunn av økt minne tilgjengelig for å lagre verdien, blir området for mulige verdier større; negative tall er imidlertid ikke inkludert i dette området. Derfor er de tillatte områdene 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 type-modifikator 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 resultatet vil være feilaktig.
Sveip for å begynne å kode
Du administrerer et lagerstyringssystem. Hvert lager har en maksimal kapasitet, og du ønsker å sikre at påfylling av nytt varelager ikke overskrider denne grensen.
Funksjonen addStock tar tre unsigned int-parametere og returnerer det oppdaterte lagerbeholdningen uten å overskride maksimal kapasitet. Alle verdier er unsigned siden negative varer ikke er mulig.
- Først, sjekk om summen av
stockognewStockoverskridermaxCapacity. - 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