single
Udfordring: Usignerede Datatyper
Stryg for at vise menuen
For at repræsentere et tal i det binære system er det nødvendigt at gemme både dets værdi og fortegn. Én bit er dedikeret til at gemme fortegnet, mens de resterende bits bruges til at gemme den numeriske værdi. Fortegnsbitten gemmer:
0hvis tallet er ikke-negativt;1hvis tallet er negativt.
Hvis det er sikkert, at vores variabel kun kan indeholde ikke-negative tal, kan vi anvende unsigned type-modifikatoren. Denne modifikator muliggør lagring af værdier uden hensyntagen til fortegnet.
Desuden, på grund af den øgede mængde hukommelse til rådighed for lagring af værdien, er intervallet af mulige værdier bredere; dog er negative tal ikke inkluderet i dette interval. Derfor er de tilladte intervaller 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; }
Derudover findes der en signed type-modifikator, som angiver, at en datatype kan rumme både positive og negative tal. Alle numeriske datatyper er dog som standard signed, så det er ikke nødvendigt at angive det eksplicit.
Brug kun unsigned, når variablen ikke kan have negative værdier.
Tildeling af en negativ værdi til en unsigned-variabel vil ikke give fejl, men den resulterende værdi vil være forkert.
Swipe to start coding
Du administrerer et lagerstyringssystem. Hvert lager har en maksimal kapacitet, og du vil sikre, at tilføjelse af nyt lager ikke overstiger denne grænse.
Funktionen addStock tager tre unsigned int-parametre og returnerer den opdaterede lagermængde uden at overskride den maksimale kapacitet. Alle værdier er unsigned, da negative varer ikke er mulige.
- Kontroller først, om summen af
stockognewStockoverstigermaxCapacity. - Hvis summen er større end
maxCapacity, returneresmaxCapacityfor at undgå at overskride grænsen. - Hvis summen er mindre end eller lig med
maxCapacity, returneres summen afstockognewStock.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat