signed and unsigned data types

Primitive Data Types

āļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āđāļ›āļĢāļžāļ·āđ‰āļ™āļāļēāļ™āđƒāļ™āļ āļēāļĐāļē C++ āļĄāļĩāļ”āļąāļ‡āļ™āļĩāđ‰

  • Integer (int)āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āđ€āļĨāļ‚āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ

  • Character (char) āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āļ­āļąāļāļĐāļĢ

  • Boolean (bool) āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļĩāļĒāļ‡āļŠāļ­āļ‡āļ„āđˆāļēāļ„āļ·āļ­ true āđāļĨāļ° false

  • Floating point (float)āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĻāļ™āļīāļĒāļĄ

  • Double Floating Point āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĻāļ™āļīāļĒāļĄ āđ‚āļ”āļĒāļĄāļĩāļžāļ·āđ‰āļ™āļ—āļĩāđˆāļāļēāļĢāđ€āļāđ‡āļšāļĄāļēāļāļāļ§āđˆāļēāļ•āļąāļ§āđāļ›āļĢ float āļŠāļ­āļ‡āđ€āļ—āđˆāļē

  • Valueless (Void) āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ„āđˆāļēāļ§āđˆāļēāļ‡āđ€āļ›āļĨāđˆāļē

  • Wide Character āļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āļ­āļąāļāļĐāļĢ unicode

Data type modifiers

āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļ™āļĩāđ‰āđƒāļ™āļāļēāļĢāļāļģāļŦāļ™āļ”āđ€āļžāļīāđˆāļĄāļĨāļ”āļ‚āļ™āļēāļ”(Size)āđāļĨāļ°āļāļģāļŦāļ™āļ”āļŠāđˆāļ§āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ(Range) āđƒāļ™āļžāļ·āđ‰āļ™āļ—āļĩāđˆāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđāļĨāļ°āļāļēāļĢāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢ

  • Signed āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļģāļŦāļ™āļ”āļŠāđˆāļ§āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļšāļ„āđˆāļēāļŠāđˆāļ§āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļˆāļģāļ™āļ§āļ™āļĨāļšāđ„āļ”āđ‰

  • Unsigned āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļģāļŦāļ™āļ”āļŠāđˆāļ§āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļšāļ„āđˆāļēāļŠāđˆāļ§āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆ 0 āļ‚āļķāđ‰āļ™āđ„āļ› āļˆāļ°āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļˆāļģāļ™āļ§āļ™āļĨāļšāđ„āļ”āđ‰

  • Short āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļģāļŦāļ™āļ”āļ‚āļ™āļēāļ”āļ•āļąāļ§āđāļ›āļĢ int āđƒāļŦāđ‰āđƒāļŠāđ‰āļžāļ·āđ‰āļ™āļ—āļĩāđˆāļĨāļ”āļĨāļ‡āđ€āļŦāļĨāļ·āļ­ 4 bytesāđ€āļ›āđ‡āļ™ 2 bytes āđ€āļŦāļĄāļēāļ°āļāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāđ„āļĄāđˆāđ€āļĒāļ­āļ°āļĄāļēāļ

  • long āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļģāļŦāļ™āļ”āļ‚āļ™āļēāļ”āļ•āļąāļ§āđāļ›āļĢ int āđƒāļŦāđ‰āđƒāļŠāđ‰āļžāļ·āđ‰āļ™āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™āļˆāļēāļ 4 bytes āđ€āļ›āđ‡āļ™ 8 bytes āđ€āļŦāļĄāļēāļ°āļāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāđ„āļĄāđˆāđ€āļĒāļ­āļ°āļĄāļēāļ

Data Type

Size (in bytes)

Range

short int

2

-32,768 to 32,767

unsigned short int

2

0 to 65,535

unsigned int

4

0 to 4,294,967,295

int

4

-2,147,483,648 to 2,147,483,647

long int

8

-9.223372e+18 to 9.223372e+18

unsigned long int

8

0 to 18,446,744,073,709,551,615

long long int

8

-9.223372e+18 to 9.223372e+18

unsigned long long int

8

0 to 18,446,744,073,709,551,615

signed char

1

-128 to 127

unsigned char

1

0 to 255

float

4

1.2E-38 to 3.4E+38

double

8

2.3E-308 to 1.7E+308

void

-

-

wchar_t

2 or 4

1 wide character

āļŠāļĢāđ‰āļēāļ‡ file.cpp āļŠāļ·āđˆāļ­āļ§āđˆāļē sizeData.cpp āđāļĨāđ‰āļ§āļ„āļąāļ”āļĨāļ­āļ code āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļĨāļ‡āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡

// C++ program to sizes of data types
#include<iostream>
using namespace std;

int main()
{
        cout << "Size of char : " << sizeof(char) 
        << " byte" << endl;
        cout << "Size of int : " << sizeof(int)
        << " bytes" << endl;
        cout << "Size of short int : " << sizeof(short int) 
        << " bytes" << endl;
        cout << "Size of long int : " << sizeof(long int) 
        << " bytes" << endl;
        cout << "Size of signed long int : " << sizeof(signed long int)
        << " bytes" << endl;
        cout << "Size of unsigned long int : " << sizeof(unsigned long int) 
        << " bytes" << endl;
        cout << "Size of float : " << sizeof(float) 
        << " bytes" <<endl;
        cout << "Size of double : " << sizeof(double) 
        << " bytes" << endl;
        cout << "Size of wchar_t : " << sizeof(wchar_t) 
        << " bytes" <<endl;
        
        return 0;
}

āļ—āļ”āļĨāļ­āļ‡ complier āđāļĨāļ° run āđ‚āļ›āļĢāđāļāļĢāļĄ

Output :

Size of char : 1 byte
Size of int : 4 bytes
Size of short int : 2 bytes
Size of long int : 8 bytes
Size of signed long int : 8 bytes
Size of unsigned long int : 8 bytes
Size of float : 4 bytes
Size of double : 8 bytes
Size of wchar_t : 4 bytes

āļ„āļģāļŠāļąāđˆāļ‡ sizeof() āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‚āļ™āļēāļ”āļžāļ·āđ‰āļ™āļ—āļĩāđˆāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļ—āļĩāđˆāļ•āļąāļ§āđāļ›āļĢāđƒāļŠāđ‰ āļĄāļĩāļŦāļ™āđˆāļ§āļĒāđ€āļ›āđ‡āļ™ Byte

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ unsigned int and int


#include <iostream>
using namespace std;

int main()
{
 int A = -1;
 unsigned int  AA = 1;
  cout<< " Size of char A :" << sizeof(A)<< "byte" <<  endl;
  cout<< " Size of char A :" << sizeof(AA)<< "byte" <<  endl;
  cout<< "A =  "<<A<<  endl;
  cout<< "AA =  "<<AA<<  endl;
  cout<< "A-A = "<<A-A<<  endl;
  cout<< "A-AA = " << A-AA<< endl;

    return 0;
}

āļ—āļ”āļĨāļ­āļ‡ complier āđāļĨāļ° run āđ‚āļ›āļĢāđāļāļĢāļĄ

Size of char A :4byte
Size of char A :4byte
A =  -1
AA =  1
A-A = 0
A-AA = 4294967294 // max range of unsign 4 byte is 4294967295

āļŠāļĢāđ‰āļēāļ‡ file.cpp āļŠāļ·āđˆāļ­āļ§āđˆāļē rangeData.cpp āđāļĨāđ‰āļ§āļ„āļąāļ”āļĨāļ­āļ code āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļĨāļ‡āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡

#include <iostream>
#include <limits>
using namespace std;
int main()
{
    cout<<"Limits of Data types:\n";

    cout<<"unsigned char        : "<<static_cast<int>(numeric_limits<unsigned char>::min())<<"to "<<static_cast<int>(numeric_limits<unsigned char>::max())<<endl;
    cout<<"char                 : "<<static_cast<int>(numeric_limits<char>::min())<<"to "<<static_cast<int>(numeric_limits<char>::max())<<endl;
    cout<<"short                : "<<numeric_limits<short>::min()<<"to "<<numeric_limits<short>::max()<<endl;
    return 0;

}

āļ—āļ”āļĨāļ­āļ‡ complier āđāļĨāļ° run āđ‚āļ›āļĢāđāļāļĢāļĄ

Output:

Limits of Data types:
unsigned char        : 0to 255
char                    : -128to 127
short           : -32768to 32767

āđāļŦāļĨāđˆāļ‡āļ­āđ‰āļēāļ‡āļ­āļīāļ‡

Last updated

Was this helpful?