long и long long целочисленные типы данных в языке Си.
Тип данных
long предназначен для хранения целого числа и занимает как минимум
32 бита (4 байта). В общем похож на
int.
Тип данных
long long предназначен для хранения целого числа и занимает как минимум
64 бита (8 байт).
Cпецификатора формата:
%ld (или %li) для
long
%lld (или %lli) для
long long (при предупреждениях помогает
%I64d)
%lu для
unsigned long
%llu для
unsigned long long (при предупреждениях помогает
%I64u)
%x (
%X большие буквы A-F) шестнадцатеричное представление
%o восьмеричное представление
Диапазон возможных значений:
−2 147 483 648 - 2 147 483 647 для
long (значения
LONG_MIN и
LONG_MAX из limits.h)
−9 223 372 036 854 775 808 - 9 223 372 036 854 775 807 для
long long (значения
LLONG_MIN и
LLONG_MAX из limits.h)
0 - 4 294 967 295 для
unsigned long (значение
ULONG_MAX из limits.h)
0 - 18 446 744 073 709 551 615 для
unsigned long long (значение
ULLONG_MAX из limits.h)
// Ввод и вывод long в(из) консоли
#include <stdio.h> // printf() scanf()
int main(){
long size = 100;
printf("size = %ld \nInput long \n", size); // Выводим long и приглашение в вводу
scanf("%ld", &size); // Вводим long
printf("%ld \n", size); // Выводим long
return 0;
}
// Переводит long, long long в строку и обратно
#include <stdio.h> // printf(), sprintf_s()
#include <stdlib.h> // atol(), atoll()
int main(){
char *str_long = "2111222333"; // Строковое представление long
char *str_long_long = "-9111222333444555666"; // Строковое представление long long
long val_long = atol(str_long); // Преобразование строки в long
long long val_long_long = atoll(str_long_long); // Преобразование строки в long long
printf("val_long = %ld \n", val_long); // Вывод long
printf("val_long_long = %lld \n", val_long_long); // Вывод long long
const int buf_size_long = 12; // Размер буфера для строкового представления long
const int buf_size_long_long = 23; // Размер буфера для строкового представления long long
char buf_long[buf_size_long]; // Буфер для long
char buf_long_long[buf_size_long_long]; // Буфер для long long
sprintf_s(buf_long, buf_size_long, "%ld", val_long); // Преобразование long в строку
sprintf_s(buf_long_long, buf_size_long_long, "%lld", val_long_long); // Преобразование long long в строку
printf("buf_long = %s \n", buf_long); // Вывод long
printf("buf_long_long = %s \n", buf_long_long); // Вывод long long
return 0;
}
2023-03-21
Понравилась страница?
Добавить в закладки
Или поделиться!
Связанные темы
bool тип данных в языке Си. Тип данных char в языке Си. double тип данных языка Си. Число с плавающей точкой с двойной точностью. Тип данных enum (или перечисление) в языке Си. float тип данных языка Си. int целочисленный тип данных языка Си. long и long long целочисленные типы данных в языке Си. short тип данных языка Си. size_t тип данных языка Си. struct тип данных языка Си. union или объединение - тип данных в языке Си. Ключевое слово языка Си _Bool