single
Herausforderung: Unsigned-Datentypen
Swipe um das Menü anzuzeigen
Um eine Zahl im Binärsystem darzustellen, müssen sowohl ihr Wert als auch ihr Vorzeichen gespeichert werden. Ein Bit ist für die Speicherung des Vorzeichens reserviert, während die verbleibenden Bits zur Speicherung des Zahlenwerts verwendet werden. Das Vorzeichenbit speichert:
0, wenn die Zahl nicht negativ ist;1, wenn die Zahl negativ ist.
Wenn sicher ist, dass eine Variable nur nicht-negative Zahlen aufnehmen kann, kann der Typmodifizierer unsigned verwendet werden. Dieser Modifizierer ermöglicht die Speicherung von Werten ohne Berücksichtigung des Vorzeichens.
Außerdem ist durch den größeren verfügbaren Speicherbereich für den Wert der Wertebereich breiter; negative Zahlen sind jedoch nicht enthalten. Die zulässigen Wertebereiche sind daher wie folgt:
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; }
Zusätzlich steht der Typmodifizierer signed zur Verfügung, um anzugeben, dass ein Datentyp sowohl positive als auch negative Zahlen aufnehmen kann. Allerdings sind alle numerischen Datentypen standardmäßig signed, daher ist es nicht erforderlich, dies explizit anzugeben.
unsigned nur verwenden, wenn die Variable keine negativen Zahlen aufnehmen kann.
Das Zuweisen eines negativen Werts zu einer unsigned-Variablen führt zu keinem Fehler, aber der resultierende Wert ist falsch.
Swipe to start coding
Sie verwalten ein Lagerverwaltungssystem. Jedes Lager verfügt über eine maximale Kapazität, und Sie möchten sicherstellen, dass das Hinzufügen neuer Bestände dieses Limit nicht überschreitet.
Die Funktion addStock nimmt drei unsigned int-Parameter entgegen und gibt den aktualisierten Lagerbestand zurück, ohne die maximale Kapazität zu überschreiten. Alle Werte sind unsigned, da negative Bestände nicht möglich sind.
- Zuerst prüfen, ob die Summe aus
stockundnewStockdiemaxCapacityüberschreitet. - Wenn die Summe größer als
maxCapacityist,maxCapacityzurückgeben, um das Limit nicht zu überschreiten. - Wenn die Summe kleiner oder gleich
maxCapacityist, die Summe ausstockundnewStockzurückgeben.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen