Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Usignerede Datatyper | Andre Datatyper og Begreber
C++ Datatyper
Sektion 4. Kapitel 5
single

single

bookUdfordring: 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:

  • 0 hvis tallet er ikke-negativt;
  • 1 hvis 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

main.cpp

copy
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; }
Note
Bemærk

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.

Opgave

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.

  1. Kontroller først, om summen af stock og newStock overstiger maxCapacity.
  2. Hvis summen er større end maxCapacity, returneres maxCapacity for at undgå at overskride grænsen.
  3. Hvis summen er mindre end eller lig med maxCapacity, returneres summen af stock og newStock.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 5
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt