Long Long (Using The GNU Compiler Collection (GCC))
Next: Complex Numbers, Previous: 128-bit Integers, Up: Extensions to the C Language Family [Contents][Index]
6.10 Double-Word Integers ¶
ISO C99 and ISO C++11 support data types for integers that are at least 64 bits wide, and as an extension GCC supports them in C90 and C++98 modes. Simply write long long int for a signed integer, or unsigned long long int for an unsigned integer. To make an integer constant of type long long int, add the suffix ‘LL’ to the integer. To make an integer constant of type unsigned long long int, add the suffix ‘ULL’ to the integer.
You can use these types in arithmetic like any other integer types. Addition, subtraction, and bitwise boolean operations on these types are open-coded on all types of machines. Multiplication is open-coded if the machine supports a fullword-to-doubleword widening multiply instruction. Division and shifts are open-coded only on machines that provide special support. The operations that are not open-coded use special library routines that come with GCC.
There may be pitfalls when you use long long types for function arguments without function prototypes. If a function expects type int for its argument, and you pass a value of type long long int, confusion results because the caller and the subroutine disagree about the number of bytes for the argument. Likewise, if the function expects long long int and you pass int. The best way to avoid such problems is to use prototypes.
Next: Complex Numbers, Previous: 128-bit Integers, Up: Extensions to the C Language Family [Contents][Index]
Từ khóa » C99 Long
-
Long Long In C99 - Stack Overflow
-
C Data Types - Wikipedia
-
Long - ARM Compiler V5.06 For UVision Armcc User Guide
-
C99 Support Of Long Long Data Type - IBM
-
C99
-
Fixed Width Integer Types (since C99)
-
C - Data Types - Tutorialspoint
-
Warning: Use Of C99 Long Long Integer Constant | C Programming
-
C/IntegerTypes
-
4.2.3 C99 Language Specifications Supported In Conjunction With C90
-
Integer Objects — Python 3.10.5 Documentation
-
C Programming Course Notes - Data Types