Tag

,


Tulisan ini adalah respon untuk salah satu komentar temen-temen dalam tulisan saya yang sebelumnya yakni pada pembahasan tentang Konversi String ke angka dan sebaliknya. Komentar tersebut menanyakan tentang bagaimana menjumlahkan dua buah angka yang mencapai trilyunan atau lebih (lebih dari 10 digit).

Kebetulan sekali beberapa waktu yang lalu saya mendapatkan sebuah tabel komparasi beberapa type data yang saya dapatkan setelah browsing di beberapa tempat (Wikipedia, cplusplus.com dan cnx.org). Berikut adalah tabel Komparasinya:

Type Data

Minimum allowed range

Typical allowed range

Typical size in bytes

char

127 → +127

atau 0 → +255

128 → +127

atau 0 → +255

1

signed char

127 → +127

127 → +127

1

unsigned char

0 → +255

0 → +255

1

signed short int

32767 → +32767

32768 → +32767

2

unsigned short int

0 → +65535

0 → +65535

2

signed int

32767 → +32767

32768 → +32767 (antique systems)

−2147483648 → +2147483647

2 dan 4

unsigned int

0 → +65535

0 → +65535 (antique systems)

0 → +4294967295

2 dan 4

signed long int

2147483647 → +2147483647

2147483648 → +2147483647

−9223372036854775808 → +9223372036854775807 (64-bit systems)

4 atau 8

unsigned long int

0 → +4294967295

0 → +4294967295

0 → +18446744073709551615 (64-bit systems)

4 atau 8

signed long long int

9223372036854775807 → +9223372036854775807

9223372036854775808 → +9223372036854775807

8

unsigned long long int

0 → +18446744073709551615

0 → +18446744073709551615

8

float

1×10−37 → 1×1037

1×10−37 → 1×1037

4

double

1×10−37 → 1×1037

1×10−308 → 1×10308

8

long double

1×10−37 → 1×1037

1×10−308 → 1×10308

1×10−4932 → 1×104932 (x87 FPU systems)

8, 12, atau 16

Contoh program untuk menjumlahkan bilangan yang angkanya sampai trilyunan lebih yakni:

 #include <iostream>
 using namespace std;
 int main() {
  long long int a = 3254876451465323130;
  long long int b = 3659854525665625356;
  cout << a+b << endl;
  return 0;
 }

Dengan hasil:

$ ./a.out

6914730977130948486

Semoga bisa bermanfaat.