Question: How many bytes is `unsigned long long`?
Is it the same as `unsigned long long int` ?

Answer: 
Executive summary: it's 64 bits, or larger.

`unsigned long long` is the same as `unsigned long long int`. Its size is platform-dependent, but guaranteed by the C standard (ISO C99) to be at least 64 bits. There was no `long long` in C89, but apparently even MSVC supports it, so it's quite portable.

In the current C++ standard (issued in 2003), there is no `long long`, though many compilers support it as an extension. The upcoming C++0x standard will support it and its size will be the same as in C, so at least 64 bits.

You can get the exact size, in bytes (8 bits on typical platforms) with the expression `sizeof(unsigned long long)`. If you want exactly 64 bits, use `uint64_t`, which is defined in the header `<stdint.h>` along with a bunch of related types (available in C99, C++11 and some current C++ compilers).
Use the operator `sizeof`, it will give you the size of a type expressed in byte. One byte is eight bits. See the following program:

```
#include <iostream>

int main(int,char**)
{
 std::cout << "unsigned long long " << sizeof(unsigned long long) << "\n";
 std::cout << "unsigned long long int " << sizeof(unsigned long long int) << "\n";
 return 0;
}

```