La doc dis ceci
mais on a juste après l'énumération de tous les types ceci :Byte .b 1 octet -128 à +127
Caractere .c 1 octet (ascii) 0 à +255
c'est clair, l'exemple montre tout à fait le contraire de la définition, on attribue 192 à un byte qui est un nombre signé . SI on compile l'exemple, ça marche alors que l'on devrait avoir une erreur du compilateur puisque l'on est en dehors de la plage. En plus l'exemple apprte peu puisque le nombre est positif.Types non-signés: mis à part le type caractère (.c) (qui est un 'byte' non-signé en mode ascii, et un 'word' non-signé en mode unicode), PureBasic ne supporte pas nativement les types non-signés. Néanmoins, il est possible d'utiliser l'astuce suivante pour émuler un type non-signé:
a.b = 192
Debug a & 255 ; affichera 192
Mais cette fois si on tente d'attribuer la valeur -192 à un byte comme ceci
le compilateur indique un dépassement mais avec le message d'erreur suivant :a.b = -192
ce qui ne correspond pas à la définition du type byteoverflow error : a 'byte' value (.b) must be between -128 and +255
Idem avec les word (à voir avec les long et quad)