|
5 / 5 / 4
Регистрация: 28.02.2017
Сообщений: 25
|
|
Минимальное целое число02.04.2017, 17:58. Показов 3926. Ответов 16
Метки нет (Все метки)
Как правильно вычислить минимальное целое число, не представимое точно в float и десятичной машинной арифметике, где p = 7. e_min = -9, e_max=9
0
|
|
| 02.04.2017, 17:58 | |
|
Ответы с готовыми решениями:
16
Минимальное целое число Минимальное целое положительное число среди введенных значений
|
|
5 / 5 / 4
Регистрация: 28.02.2017
Сообщений: 25
|
|
| 03.04.2017, 10:34 [ТС] | |
|
dondublon, это и есть условие
0
|
|
|
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
|
| 03.04.2017, 10:40 | |
|
читаем https://ru.wikipedia.org/wiki/... 1%81%D1%8C .
Все осмысливаем. Если остаются вопросы - задаем их тут.
0
|
|
|
5 / 5 / 4
Регистрация: 28.02.2017
Сообщений: 25
|
|
| 03.04.2017, 12:51 [ТС] | |
|
Я так понимаю, что нужно найти число у которого мантисса будет превышать допустимое значение
0
|
|
|
5 / 5 / 4
Регистрация: 28.02.2017
Сообщений: 25
|
|
| 03.04.2017, 19:04 [ТС] | |
|
dondublon, а что тогда?
0
|
|
|
|
|
| 04.04.2017, 10:41 | |
|
Тут надо начать немного издалека.
Тип integer - 4 байта. Это я не про Питон, это про нативный тип, который пршёл из процессора x86, откуда подобная запись пришла в языки программирования и библиотеки. Тип float - тоже 4 байта. При этом диапазон integer - примерно от -2 млрд до 2 млрд, т. е. от -2e9 до 2е9, а float - от -1е38 до 1е38, то есть покрывает область в 100000000000000000000000000000 раз больше. 29 нулей, ибо 38-9=29. И этот мегамонстрический диапазон в тех же четырёх байтах! Вот вам пища для размышлений. Подумайте, какой отсюда следует очевидный вывод, отпишитесь, потом продолжим.
1
|
|
|
5 / 5 / 4
Регистрация: 28.02.2017
Сообщений: 25
|
|
| 04.04.2017, 21:26 [ТС] | |
|
dondublon, т.е. число больше, чем допустимое значение float не будет представимо?
0
|
|
|
|
||
| 05.04.2017, 11:02 | ||
|
Да, блин! Если integer покрывает до прибизительно 2e9, а float вылезает за эти рамки (1e38), то float-ы, большие по модулю 2e9, integer-ом не покрываются. Я всё-таки хотел чуть более сложный вывод.
0
|
||
|
5 / 5 / 4
Регистрация: 28.02.2017
Сообщений: 25
|
|
| 05.04.2017, 23:56 [ТС] | |
|
dondublon, максимальная мантисса у float 23 бита, если мантисса будет 24 бита, это будет являться минимальным не представимым числом?
0
|
|
|
|
|
| 06.04.2017, 09:20 | |
|
yudy, нет.
Мантисса там 23 бита, это фиксированно, но это не важно, на самом деле. А вывод таков. integer - каждое целое число из диапазона представляется уникальным набором из четырёх байт. Почему? 4 байта, 256^4=2^32~=4 млрд. Эти 4 млрд ставим вокруг нуля, получаем те самые +- 2 млрд. То есть целые представляются точно. Каждому числу из диапазона соответствует свой набор бит, 1:1. Если у вас диапазон в 100000000000000000000000000000 раз больше, то ТОЧНО вы их в тех самых четырёх байтах не представите, хоть тресни. Даже целые, не говоря уж о дробных, но для вашего задания мы говорим о целых. То есть, некоторые числа будут "сливаться". Два реальных математических числа отличаются, а представление float у них будет одинаковое. Даже интуиция может подсказать, что, чем больше по модулю число - тем большая разница будет у "сливающихся" соседей. Теперь жду ваш вывод. Понимание задания и как его делать.
0
|
|
|
5 / 5 / 4
Регистрация: 28.02.2017
Сообщений: 25
|
||||||
| 09.04.2017, 19:35 [ТС] | ||||||
|
dondublon, сложно это для меня, буду дальше читать литературу и разбираться. отпишу, когда пойму
Добавлено через 21 час 53 минуты dondublon, в питоне мантисса float 53 бита. максимальная экспонента = 1024. число с плавающей точкой представляется по формуле x = мантисса*основание степени*показатель степени. Для float возьмем мантиссу = 53 основание степени = 2 и максимальный показатель 1024 => число
0
|
||||||
|
77 / 76 / 57
Регистрация: 07.08.2016
Сообщений: 173
|
|||||||||||
| 09.04.2017, 22:45 | |||||||||||
|
yudy, есть в ответе теория, а в комментарии к ответу формула для вычисления такого числа на python:
1
|
|||||||||||
|
5 / 5 / 4
Регистрация: 28.02.2017
Сообщений: 25
|
|
| 09.04.2017, 22:46 [ТС] | |
|
Kir-malishev, не открывается ссылка
0
|
|
|
|
||||||
| 10.04.2017, 09:19 | ||||||
|
yudy, тут нет ничего сложного. Мыслите проще.
Нельзя впихнуть невпихуемое. В четыре байта. Именно питоновское представление чисел вас не интересует, оно там своё. Вам нужен нативный тип float. В питоне его можно использовать с помощью модуля ctypes. Последняя подсказка:
0
|
||||||
| 10.04.2017, 09:19 | |
|
Помогаю со студенческими работами здесь
17
Если целое число m делится нацело на целое число n, то вывести на экран частное от деления Дано вещественное число A и целое число N (> 0). Вывести 1 + A + A2 + A3 + + AN. Дано вещественное число A и целое числ Какое минимальное целое количество отрезков получится из данного Дано вещественное число Х и целое число N (> 0). Найти значение 1 - X2/2 + X4/4 - + (-1)NX2N/(2N) Дано вещественное число A и целое число N. Вычислить заданную сумму: Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|