Спілкуватися з 64-бітним long long Visual C

Тип даних long long — це єдиний цілий тип даних у Visual С++, який важить 8 байт і може використовувати значення вище 2^31 — 1. -2^31. Якщо у вас 64-бітна система, то тип long теж буде 8-байтовим. А в 32-розрядній системі доводиться задовольнятися лише ним. Цей тип даних отримав права лише останніх версіях С++, наприклад, в С++ 6.0 ви його знайдете, але працювати з ним там одне задоволення. Незважаючи на те, що у long long є закріплені права та обов'язки. Використовувати його все одно слід по-особливому. Спочатку слід врахувати, що просте присвоєння йому значень не прокотить. Якщо ви хочете присвоїти значення змінної типу long long, то не забудьте приставити до двох літери LL (які мабуть символізують, що число «longlong» 64-бітове).

long long temp = 1100 LL;

Далі: для відповідність типів. Думаю, коли людина вперше «бере до рук» цей тип даних йому стає цікаво, а як він співвідноситься з типом int?

Відносини у long long c int дуже цікаві. Якщо ви хочете складати два числа int, знаючи, що результат вийде за діапазон int, ви можете використовувати long long. Складіть два int привласнити long long та всі будуть щасливі.

int a1 = 2000000000; int a2 = 2000000000; long long b = a1 + a2;

b дорівнює 400 000 000. І тут проблем виникнути не повинно.

З множенням int'ів справи набагато цікавіше. Якщо ви просто візьмете дві змінні типу int і перемножите їх між собою, знаючи, що результат вийде за межі int, то нічого у вас не вийде. Змінна типу long long буде дорівнювати нулю. У результаті, щоб множити в Visual C++ числа типу int одержати long long слід зробити додавання через цикл, тобто.якщо ми хочемо помножити число а на число b, все буде виглядати так.

long long temp = 0; for (int i = 0; i

І лише тоді захоче бути твором.