2012-11-15 15 views
12

Cytując z książki czytam:Co to są "rozszerzone typy całkowite"?

  1. signed char, signed short int, signed int, signed long int, signed long long int are called standard signed integer types
  2. unsigned char, unsinged short int, unsigned int, unsigned long int, unsinged long long int, _Bool are called standard unsigned integer types
  3. In addition to the standard integer types, the C99 standard allows implementation-defined extended integer types, both signed and unsigned. For example, a compiler might be provide signed and unsigned 128-bit integer types.

mam problem z 3 pkt. Czym są te "rozszerzone typy liczb całkowitych"? Dowolne przykłady?

+0

długa długa int? –

+2

error: "long long long" jest zbyt długi dla GCC – fuz

Odpowiedz

2

Przykład przedłużonego typu całkowitego jest __int64 64-bitowy typ ze znakiem określa MS Visual C Podczas tego typu jest oczywiście integralną typu starszych wersji MSVC nie może być uzyskane w int, long int, ani long long int. (W międzyczasie MSVC dodał obsługę long long int).

+6

To nie jest najlepszy przykład, ponieważ 'MSVC' to c90, a c90 nie ma * rozszerzonych typów całkowitych *. Zostały wprowadzone w c99. – ouah

+1

@ouah Dobry punkt. Przypuszczam, że bardziej słusznie byłoby powiedzieć, że do takiego przypadku wprowadzono rozszerzone typy liczb całkowitych. – user4815162342

+2

uwaga: również '__int128', który może być zdefiniowany przez gcc, to * nie * rozszerzone typy całkowite, ponieważ [GCC nie obsługuje żadnych rozszerzonych typów całkowitych] (https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation. html). – jfs

3

Rozszerzone typy całkowite są typami liczbowymi specyficznymi dla implementacji, które są dostarczane jako rozszerzenie. Ponieważ prawie wszystko na temat takich rozszerzeń jest definiowane przez implementację, standard nie może wiele o nich powiedzieć. Jednak propozycja C++ 09 zapewnia ramy dla implementacji takich rozszerzeń w sposób, który nie koliduje z zachowaniem standardowych zgodnych programów.

powinieneś polecić this, który obejmuje wszystko na temat rozszerzonych typów całkowitych.

+2

stąd http://vineetgupta22.wordpress.com/tag/unsigned-integer/? – md5