c++ casting long double to unsigned long long code example

Example 1: range of long long in c++

Long
Data Type	          Size             (in bytes)	Range
long int	            4	         -2,147,483,648 to 2,147,483,647
unsigned long int	    4	         0 to 4,294,967,295
long long int	        8	         -(2^63) to (2^63)-1
unsigned long long int	8	         0 to 18,446,744,073,709,551,615

Example 2: what is a long long int in c

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

#define FailedToEducate    101
#define Success            400

int main(void) {
	/* 
    	A long int is:
        	32-bit compiler: 
            	MIN: -2,147,483,648
            	MAX: 2,147,483,647
                unsigned MAX: 4,294,967,295
            64-bit compiler: 
            	MIN: -9,223,372,036,854,775,808
            	MAX: 9,223,372,036,854,775,807
                unsigned MAX: 18,446,744,073,709,551,615
        Therefore...a long int will either be
        -2,147,483,648 and 2,147,483,647 for a 32-bit compiler
        or -9,223,372,036,854,775,808 and 
        9,223,372,036,854,775,807 for a 64-bit compiler, 
        whilst a long long int will just be 
        -9,223,372,036,854,775,808 and 
        9,223,372,036,854,775,807
        
        I hope this made sense!
    */
  
  	bool userUnderstands=true;
  
  	if(userUnderstands) {
    	exit(Success);
    } else {
    	exit(FailedToEducate);
    }
}

Tags:

Cpp Example