« Programmation C/Types de base » : différence entre les versions

Contenu supprimé Contenu ajouté
Il ne suffit pas d'accuser pour avoir le dernier mot ici, il faut démontrer. Annulation des modifications 571828 de 77.136.86.63 (discussion)
un int est codé sur 32 bits sur toutes les machines en 2018
Ligne 63 :
|-----
| bgcolor="#F9F9F9" |<code>int</code>
| ≥ 16 bits
| style="background-color:#FFFFFF; text-align: right;" |{{formatnum:-32768}}
| style="background-color:#FFFFFF; text-align: right;" | -(2<sup>15</sup>)
| style="background-color:#FFFFFF; text-align: right;" |{{formatnum:+32767}}
| style="background-color:#FFFFFF; text-align: right;" |2<sup>15</sup>-1
|-
| bgcolor="#F9F9F9" |<code>unsigned int</code>
| ≥ 16 bits
| style="background-color:#FFFFFF; text-align: right;" |0
| style="background-color:#FFFFFF; text-align: right;" |0
| style="background-color:#FFFFFF; text-align: right;" |{{formatnum:+65535}}
| style="background-color:#FFFFFF; text-align: right;" |2<sup>16</sup>-1
|-----
| bgcolor="#F9F9F9" |<code>long</code>
| ≥ 32 bits
| style="background-color:#FFFFFF; text-align: right;" |{{formatnum: -2147483647}}2 147 483 648
| style="background-color:#FFFFFF; text-align: right;" | -(2<sup>31</sup>)
| style="background-color:#FFFFFF; text-align: right;" |{{formatnum:+2147483647}}
| style="background-color:#FFFFFF; text-align: right;" |2<sup>31</sup>-1
|-
| bgcolor="#F9F9F9" |<code>unsigned longint</code>
| ≥ 32 bits
| style="background-color:#FFFFFF; text-align: right;" |0
Ligne 90 ⟶ 76 :
| style="background-color:#FFFFFF; text-align: right;" |2<sup>32</sup>-1
|-----
| bgcolor="#F9F9F9" |<code>long long</code> ''(C99)''
| ≥ 64 bits
| style="background-color:#FFFFFF; text-align: right;" |{{formatnum:-9223372036854775807}}
Ligne 97 ⟶ 83 :
| style="background-color:#FFFFFF; text-align: right;" |2<sup>63</sup>-1
|-
| bgcolor="#F9F9F9" |<code>unsigned&nbsp;long&nbsp; long</code> ''(C99)''
| ≥ 64 bits
| style="background-color:#FFFFFF; text-align: right;" |0
Ligne 105 ⟶ 91 :
|}
 
Cette table signifie qu'un programme peut utiliser sans problème une variable de type <code>int</code> pour stocker la valeur 2<sup>153</sup>-1, quel que soit le compilateur ou la machine sur laquelle va tourner le programme.
 
Par contre, une implémentation C <em>peut</em> fournir des domaines de valeurs plus larges que ceux indiqués au-dessus :