Books Online Courses
Free Tutorials  Go to Your University  Placement Preparation 
Latest:- Important tips to get an Off Campus Placements
0 like 0 dislike

1 Answer

0 like 0 dislike
by Goeduhub's Expert (8.3k points)
Best answer

Signed integers can be of these types (the int after short, or long is optional):

signed char 127/* required to be 1 byte, see remarks for further information. */

signed short int si 32767/* required to be at least 16 bits. */

signed int 32767/* required to be at least 16 bits */

signed long int li 2147483647/* required to be at least 32 bits. */

Version ≥ C99

signed long long int li 2147483647/* required to be at least 64 bits */

Each of these signed integer types has an unsigned version.

unsigned int i = 65535; 

unsigned short = 2767; 

unsigned char = 255;

For all types but char the signed version is assumed if the signed or unsigned part is omitted. The type char constitutes a third character type, different from signed char and unsigned char and the signedness (or not) depends on the platform.

Different types of integer constants (called literals in C jargon) can be written in different bases, and different width, based on their prefix or suffix.

/* the following variables are initialized to the same value: */

int 42;       /* decimal constant (base10) */

int 052;       /* octal constant (base8) */

int 0xaf/* hexadecimal constants (base16) */

int 0XAf/* (letters 'a' through 'f' (case insensitive) represent 10 through 15) */

Decimal constants are always signed. Hexadecimal constants start with 0x or 0X and octal constants start just with a 0. The latter two are signed or unsigned depending on whether the value fits into the signed type or not.

/* suffixes to describe width and signedness */

long int 0x32/* no suffix represent int, or long int */

unsigned int ui 65535u/* u or U represent unsigned int, or long int */

long int li 65536l/* or L represent long int */

Without a suffix the constant has the first type that fits its value, that is a decimal constant that is larger than INT_MAX is of type long if possible, or long long otherwise. 

The header file <limits.h> describes the limits of integers as follows. Their implementation-defined values shall be equal or greater in magnitude (absolute value) to those shown below, with the same sign.

Data types: Integer types and constants

3.3k questions

7.1k answers


4.6k users

Related questions

0 like 0 dislike
1 answer 212 views
0 like 0 dislike
1 answer 183 views
0 like 0 dislike
1 answer 199 views


About Us | Contact Us || Terms & Conditions | Privacy Policy || Youtube Channel || Telegram Channel © Social::   |  |