Информатика, вопрос задал amber0501 , 1 год назад

float (8.67) чому дорівнює?


Аноним: Язык?
Аноним: По сути, 8.67 уже float, т.е. это уже значение с плавающей точкой.
В большинстве языков, получается явное приведение типа float к типу float, т.е. ничего не меняется, и float(8.67) = 8.67
Уверенны, что переписали условие верно?
Аноним: Напишите потом правильный ответ, даже интересно...

Ответы на вопрос

Ответил Sallil4210
0

Ответ:

8.67

Объяснение:


amber0501: в квесте этот ответ не принимает
Sallil4210: ну, если ты например напишеш:. а=float(input("Введите число а: "), a потом print(a), введя 8.67, тебе выдаст 8.67
amber0501: учитель сказала, что ответ не правильный. Вопрос: Чому дорівнює float(8.67)?
Ответил Аноним
2

Ответ:
8.67
      или
float("8.67")
      или
~8,669999999999999928945726423989981412887573242187 5
      или
4021570A3D70A3D7₁₆
      или
8.67E0
      или
float("8.67E0")

Объяснение:
Вы не указали язык программирования, поэтому предположим,
что это Python.

Это предельно странный вопрос, на который можно дать кучу предельно странных ответов

1) Метод float(arg) принимает в качестве параметра аргумент arg,
который может быть либо строкой с десятичной точкой, либо
числовым значением. На выходе, возвращается число с плавающей
точкой в формате IEEE754 binary64 (по крайней мере, так говорится в описании к интерпретатору).

Так что, если вопрос состоит в том, что ФОРМАЛЬНО вернёт метод float(8.67), с точностью до бита, то это

   8,669999999999999928945726423989981412887573242187 5₁₀
      или
   4021570A3D70A3D7₁₆

В первом случает представлено десятичное вещественное число,
во втором случае его двоичное представление, записанное в экспоненциальной нормализованной форме, в шестнадцатеричной системе счисления. Число занимает 8 байт или 64 бита, при этом 1 бит на знак, 11 бит на экспоненту (порядок), и
52 бита на мантиссу. Смещение экспоненты 1023.

Посмотреть, на "реальный" результат можно примерно так
   print("{:.40f}".format(float(8.67)))

Если вопрос состоит в том, как с этим числом будет вести себя оператор сравнения ==, то вести он будет себя так:
   print(float(8.67) == 8.67) # True
   print(float(8.67) == 8.66999999 + 0.00000001) # False

То есть, погрешность вычисления начнётся со сто миллионных долей.
Возможно, это и есть ваш ответ.

2) Кроме этого, как уже говорилось, float(arg) может принимать и строку, так что
   print(float(8.67) == float("8.67"))  # True
То есть, float(8.67) равен, и даёт тот же результат, что и float("8.67")

3) В питоне, как и большинстве языков, доступна экспоненциальная запись, т.е. float(8.67) равно float(8.67E0) или float("8.67E0")

Вообщем, на ваш вопрос есть миллион ответов, какой вам нужен, выбирайте сами.




Sallil4210: Ой ниче себе
Sallil4210: вот это ты постарался
Sallil4210: *и мой скромненький ответ нервно курит в сторонке
Sallil4210: это сразу 5 звезд
Sallil4210: а сколько ты это печатал? мне уш сильно интересно
Новые вопросы