Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Challenge: Usignerte Datatyper | Andre datatyper og konsepter
C++ Datatyper
Seksjon 4. Kapittel 5
single

single

bookChallenge: Usignerte Datatyper

Sveip for å vise menyen

For å representere et tall i det binære systemet, er det nødvendig å lagre både verdien og fortegnet. Én bit er dedikert til å lagre fortegnet, mens de resterende bitene brukes til å lagre den numeriske verdien. Fortegnsbiten lagrer:

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

I tillegg, på grunn av økt minne tilgjengelig for å lagre verdien, er 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

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
Merk

I tillegg finnes det en signed type-modifikator som indikerer at en datatypen kan håndtere både positive og negative tall. Alle numeriske datatyper er imidlertid signed som standard, 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 feil.

Oppgave

Sveip for å begynne å kode

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 å overskride maksimal kapasitet. Alle verdier er unsigned siden negative antall ikke er mulig.

  1. Først, sjekk om summen av stock og newStock overskrider maxCapacity.
  2. Hvis summen er større enn maxCapacity, returner maxCapacity for å unngå å overskride grensen.
  3. Hvis summen er mindre enn eller lik maxCapacity, returner summen av stock og newStock.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 5
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt