Есть ли такой тип?
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Нет, 128-битное число не достаточно. Там речь идёт о тысячах байт.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Это то здесь при чём? Где у меня хоть слово о переменной в рантейме точности?Absurd писал(а):https://gmplib.org/
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Может быть и ровно 32, а может быть не хватит и 128. Я же не знаю заранее, как будет меняться разрядность платформ, которые только будут созданы в будущем, и придётся ли перекомпилировать для win32. Если бы предполагалась кроскомпиляция на спектрум, то в версии для спектрум 48K можно и 16 бит, а в версии для спектрум 128 не менее 17-ти бит, а с учётом адресации байтами не менее 24-х (на спектруме водятся типы и по 5 байт, так почему и не 3?). Но для win64 не менее 64-х бит, а если разрядность будет расти, то может быть и 256. Важна не разрядность, а её достаточность для представления количества динамических безымянных переменных, возможного на платформе, целевой для конкретной версии. Спектрум и i80286 поддерживать не надо, они слишком слабы по характеристикам и всё равно не справятся. Да и у пользователя стоять точно не будут. И не виндузячие они к тому же. Но как будет меняться разрядность винды в будущем, я ведь не знаю. А надо одним именем типа гарантировать достаточную на любой версии разрядность. Задача - хранить количество безымянных переменных.WinMain писал(а):Как я понял из всего сказанного, ему нужен тип целого числа с разрядностью выше 32.
Это может быть long long или __int64 в Visual C++. У них разрядность 64 бита.
Можно ещё использовать __m128 в разных модификациях - это 128-битные числа.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
uintmax_tСионист писал(а):Может быть и ровно 32, а может быть не хватит и 128. Я же не знаю заранее, как будет меняться разрядность платформ, которые только будут созданы в будущем, и придётся ли перекомпилировать для win32.
Сколько вам лет? Если действительно уже за 30, то вы удивительный человек.Сионист писал(а): Если бы предполагалась кроскомпиляция на спектрум
2B OR NOT(2B) = FF
Для тысяч вполне хватит 16-ти. А для миллионов? Миллиардов? Триллионов? Я не могу сейчас предсказать прожорливость будущих версий. Но при этом одна из функций должна принимать всё подряд, включая WPARAM, LPARAM и даже HWND. И ей же нужны данные и искомого типа, но при этом она должна с данными искомого типа поступать принципиально иначе, чем с данными типов WPARAM, LPARAM и HWND. Вот ради этой функции и нужна замена типу size_t, но такая, чтоб не менять имя типа в зависимости от разрядности. Значит стандартного нет? Тогда оставляю оболочку над size_t. И не надо кивать на мою же критику оболочек, писать свои компиляторы с двумя встроенными именами мемсайза - вполне трудоёмкий путь решения этой не такой уж сложной задачи.Romeo писал(а):Нет, 128-битное число не достаточно. Там речь идёт о тысячах байт.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Сионист, я не знаю, зачем ты заквотил моё последнее сообщение. Оно не тебе адресовалось.
Моё предложение по поводу решения твой проблемы было на предыдущей странице. Так же у нас есть решение от Absurd. Тебе мало двух? Почему вместо того, чтобы сесть за реализацию или хотя бы проверку предложенных идей, ты продолжаешь неистово спорить о каких-то слабосвязанных с указанной проблемой вещах?
Моё предложение по поводу решения твой проблемы было на предыдущей странице. Так же у нас есть решение от Absurd. Тебе мало двух? Почему вместо того, чтобы сесть за реализацию или хотя бы проверку предложенных идей, ты продолжаешь неистово спорить о каких-то слабосвязанных с указанной проблемой вещах?
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Вот именно, что они не связаны с проблемой вообще. Но зачем то предлагаются в качестве решения. Вы когда на дачи едете, покупаете билет на БЕЛАЗ? Для какого хелла здесь переменная в рантайме, но ни как не связанная с платформой точность, когда нужно как раз целое, но платформенно зависимой разрядности? Тем более зачем здесь тип, предназначенный для хранения всего подряд, включая строки, болены и много другой всякости? Мне нужно только число. И только целое. И что то я не вижу здесь ни какой мифической предыдущей страницы. И вообще решение то действительно уже есть, причём, до темы. Просто я хотел узнать, есть ли стандартная альтернатива size_t, которая бы перегружалась отдельно от WPARAM. Но раз нет, оставляю, как есть.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.