Différences entre les versions de « Programmation C/Types de base »

Aller à la navigation Aller à la recherche
un int est codé sur 32 bits sur toutes les machines en 2018
(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)
|-----
| 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
| 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}}
| 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
|}
 
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 :

Menu de navigation