Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CMTV
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 36
#1

Как записать в long - C++

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

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

Суть вопроса: как записать большее число (+ объяснить почему нельзя если несложно).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 09:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как записать в long (C++):

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

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

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

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

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

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

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

Нельзя больше записать, потому что так сказать не хвататет битов.Целочисленные переменные представлены в памяти наборами битов, каждый из которых принимает значения 0 или 1.Они и представляют число в степенях двойки. Следовательно, чем больше битов в числе, тем большее число можно в него записать.Ну а в версии беззнаковой бит, который отвечает за знак, используется тоже для представления числа. Так и получается, что он вмещает числа большие, но взамен он не может работать с отрицательными числами.
0
Doksim
57 / 57 / 8
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2013, 12:14
Привет! Вот еще темы с ответами:

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

Как сравнить long long с нулем? GNU С++ - C++
Надо сравнить a&gt;=0, где a типа long long int на GNU C++ (__int64 в гну не работает). Компилится нормально, только выполняется неправильно....

Long int записать в hex побайтно - C++
Всем доброго времени суток... есть long int число, состоящее из 4 байт, нужно их записать в массив char по 2 байта в ячейку, но эти...

Нюансы синтаксиса: что означает запись typedef long long i64 ? - C++
Что означает эта строчка? typedef long long i64; Как я понял, функция typedef позволяет добавить имя типу данных. Но зачем long...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.12.2013, 12:14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru