Pourquoi C ++ ne prend-il pas en charge la double syntaxe non signée?
Parce que les formats à virgule flottante classiques ne prennent pas en charge les nombres non signés. Voir, par exemple, cette liste de formats IEEE 754 .
L’ajout d’un format numérique qui n’est pas pris en charge par un matériel commun rend la vie difficile aux rédacteurs du compilateur, et cela ne vaut probablement pas la peine.
C ++ ne prend pas en charge les types à virgule flottante non signés, car la plupart des matériels à virgule flottante ne prennent pas en charge les types à virgule flottante non signés. Certaines cartes graphiques fonctionnent avec des virgules flottantes non signées, mais elles sont généralement internes et ne sont pas vraiment visibles par un programme ou un utilisateur.
Les entiers non signés gagnent un bit de précision supplémentaire et ont une sémantique binary légèrement différente de celle des entiers signés. Les flotteurs et les doubles réservent toujours un peu pour le signe (sur la plupart du matériel) et n’ont pas de sémantique sur les bits. Il n’ya donc pas de réel avantage à avoir un type réel non signé.