single
Défi : Types de Données Non Signés
Glissez pour afficher le menu
Pour représenter un nombre dans le système binaire, il est nécessaire de stocker à la fois sa valeur et son signe. Un bit est dédié au stockage du signe, tandis que les bits restants servent à stocker la valeur numérique. Le bit de signe stocke :
0si le nombre est positif ou nul ;1si le nombre est négatif.
Si l’on est certain que la variable ne peut contenir que des nombres non négatifs, il est possible d’utiliser le modificateur de type unsigned. Ce modificateur permet de stocker des valeurs sans prendre en compte le signe.
De plus, grâce à la mémoire supplémentaire disponible pour la valeur, l’intervalle des valeurs possibles est élargi ; cependant, les nombres négatifs ne sont pas inclus dans cet intervalle. Ainsi, les plages autorisées sont les suivantes :
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; }
De plus, il existe un modificateur de type signed permettant d’indiquer qu’un type de donnée peut contenir des nombres positifs et négatifs. Cependant, tous les types numériques sont par défaut signed, il n’est donc pas nécessaire de le spécifier explicitement.
Utiliser unsigned uniquement lorsque la variable ne peut pas prendre de valeurs négatives.
Attribuer une valeur négative à une variable unsigned ne produira pas d’erreur, mais la valeur obtenue sera incorrecte.
Swipe to start coding
Vous gérez un système d'inventaire d'entrepôt. Chaque entrepôt possède une capacité maximale, et il est essentiel de s'assurer que l'ajout de nouveaux stocks ne dépasse pas cette limite.
La fonction addStock prend trois paramètres de type unsigned int et retourne le stock mis à jour de l'entrepôt sans dépasser la capacité maximale. Toutes les valeurs sont de type unsigned car les quantités négatives ne sont pas possibles.
- D'abord, vérifier si la somme de
stocketnewStockdépassemaxCapacity. - Si la somme est supérieure à
maxCapacity, retournermaxCapacityafin de ne pas dépasser la limite. - Si la somme est inférieure ou égale à
maxCapacity, retourner la somme destocketnewStock.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion