Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 36
1

Как записать в long

14.12.2013, 09:19. Показов 1127. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток. Возможно это самый нубский вопрос на всем форуме, но как записать очень большое число в long. В таблицах допустимых значений говорится, что в него можно записать аж -9, 223, 372,036, 854, 775, 808 ... 9, 223, 372, 036, 854, 775, 807 (диапазон). Но на деле у меня конструкция long x = ... не принимает больше двух миллиардов.

Суть вопроса: как записать большее число (+ объяснить почему нельзя если несложно).
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2013, 09:19
Ответы с готовыми решениями:

Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в степень p
Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в...

Как char[] перевести в битовую маску long long(64 бита) и наоборот?
Как char перевести в битовую маску long long(64 бита) и наоборот?

Как преобразовать const char * в long в С++, 0xE0E040BF в long
Помогите пожалуйста преобразовать текст в число на C++ const char * value=cmd; long ircode = ...

Не понятный undefined reference to `unsigned long long f<unsigned long long, void>
test.cpp: #include &lt;iostream&gt; template &lt;typename FormalType, typename FactType = typename...

3
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
14.12.2013, 09:23 2
CMTV, это где такое говорится?
0
Мой лучший друг-отладчик!
165 / 165 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
14.12.2013, 09:25 3
надо брать больший тип данных. например int64 (long long), или его же версию unsigned(то бишь беззнаковую).Должно влезть.Ну а если уже туда не влазят, то пишем в переменные для вещественных чисел(float,double,long double)

Нельзя больше записать, потому что так сказать не хвататет битов.Целочисленные переменные представлены в памяти наборами битов, каждый из которых принимает значения 0 или 1.Они и представляют число в степенях двойки. Следовательно, чем больше битов в числе, тем большее число можно в него записать.Ну а в версии беззнаковой бит, который отвечает за знак, используется тоже для представления числа. Так и получается, что он вмещает числа большие, но взамен он не может работать с отрицательными числами.
0
57 / 57 / 10
Регистрация: 08.12.2013
Сообщений: 257
14.12.2013, 12:14 4
Цитата Сообщение от CMTV Посмотреть сообщение
Всем доброго времени суток. Возможно это самый нубский вопрос на всем форуме, но как записать очень большое число в long. В таблицах допустимых значений говорится, что в него можно записать аж -9, 223, 372,036, 854, 775, 808 ... 9, 223, 372, 036, 854, 775, 807 (диапазон). Но на деле у меня конструкция long x = ... не принимает больше двух миллиардов.

Суть вопроса: как записать большее число (+ объяснить почему нельзя если несложно).
лонг все равно что инт. тебе нужен long long(__int64)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2013, 12:14

Как процессор работает с long long int ?
На моей системе (WinXP SP3 32bit) sizeof(long long int); возвращает 8. 8 Байт. Это 64 бита. Как...

Как преобразовать char[8] к unsigned long long?
Требуется выполнить преобразование char к unsigned long long и обратно

Как VC6 заставить понимать long long ?
Как ?

Как работать с числами больше long long ?
Програмка который выводит субфакториал. Когда пользователь задает 6 или 9 то норм. но если 50 100...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru