Visual C++ Datentypen



  • Hi!
    Ich habe mir aus den Dateien "limits.h" und "float.h" eine Tabelle mit den Maxima und Minima der Datentypen in Visual Studio 2005 C++ zusammengestellt.
    Könnt ihr mir sagen, ob die Daten stimmen und die Felder ergänzen, bei denen ein Fragezeichen steht?

    Um die Tabelle anzuzeigen, folgenden Code in eine Textdatei kopieren und mit der Dateiendung .html speichern und anschließend mit dem Browser öffnen:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
           "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>Visual Studio 2005 C++ Datentypen</title>
    </head>
    <body>
    
    <h1>Visual Studio 2005 C++ Datentypen:</h1>
    
    <table border="1">
      <tr>
        <th>Datentyp</th>
        <th>Minimum</th>
        <th>Maximum</th>
        <th>Unsigned</th>
        <th>Bit</th>
        <th>Byte</th>
      </tr>
      <tr>
        <td>bool</td>
        <td>false (0)</td>
        <td>true (1)</td>
        <td></td>
        <td>?</td>
        <td>?</td>
      </tr>
      <tr>
        <td>char</td>
        <td>-128</td>
        <td>127</td>
        <td>255</td>
        <td>8</td>
        <td>1</td>
      </tr>
      <tr>
        <td>short</td>
        <td>-32768</td>
        <td>32767</td>
        <td>65535</td>
        <td>16</td>
        <td>2</td>
      </tr>
      <tr>
        <td>int</td>
        <td>-2147483648</td>
        <td>2147483647</td>
        <td>4294967295</td>
        <td>32</td>
        <td>4</td>
      </tr>
      <tr>
        <td>long</td>
        <td>-2147483648</td>
        <td>2147483647</td>
        <td>4294967295</td>
        <td>32</td>
        <td>4</td>
      </tr>
      <tr>
        <td>long long int</td>
        <td>-9223372036854775808</td>
        <td>9223372036854775807</td>
        <td>18446744073709551615</td>
        <td>64</td>
        <td>8</td>
      </tr>
      <tr>
        <td>float</td>
        <td>1.175494351e-38</td>
        <td>3.402823466e+38</td>
        <td>?</td>
        <td>?</td>
        <td>?</td>
      </tr>
      <tr>
        <td>double</td>
        <td>2.2250738585072014e-308</td>
        <td>1.7976931348623158e+308</td>
        <td>?</td>
        <td>?</td>
        <td>?</td>
      </tr>
    </table>
    

    Danke



  • Erstens: Für jeden Datentyp gilt bit-Größe == CHAR_BITS * byte-Größe (und letztere kannst du notfalls mit sizeof() bestimmen.

    Zweitens: Für die Größe der meisten Datentypen existieren nur Mindestvorgaben (char=1Byte <= short <= int <= long und float <= double <= long double).
    (long long ist afaik kein Standard-Typ)

    Drittens: Von den Gleitkomma-Typen existieren keine unsigned-Varianten.


Log in to reply