Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.04.13;
Скачать: [xml.tar.bz2];

Вниз

представление вещественного числа в памяти компьютара   Найти похожие ветки 

 
Blind Guardian   (2008-03-18 23:34) [0]

Здравствуйте. Такой вот вопрос.
Есть некоторое число вещественного типа. В памяти оно предтавлено в двоичной форме.
Вопрос: какое представление этого числа в десятичной форме является верным:

<знак><десятичное представление мантиссы> * (2 ^ <десятичное представление экспоненты>)

или

<знак><десятичное представление мантиссы> * (10 ^ <десятичное представление экспоненты>)

??
( ^  значит "в степени")


 
{RASkov} ©   (2008-03-19 00:26) [1]

> [0] Blind Guardian   (18.03.08 23:34)

Решил викторину здесь устроить?
Что будет победителю?
:о)


 
Германн ©   (2008-03-19 00:30) [2]


> Blind Guardian   (18.03.08 23:34)

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374


 
Семеныч   (2008-03-19 00:54) [3]

> какое представление этого числа в десятичной форме является верным

Зависит от знака экспоненты.

ПыСы
Ты бы хоть вопрос переформулировал, а то сразу видно, что... ну, ты понял.


 
Германн ©   (2008-03-19 01:11) [4]


> Семеныч   (19.03.08 00:54) [3]

В статье АГ достаточно информации о формате представления вещественного числа в памяти.


 
Blind Guardian   (2008-03-19 16:09) [5]

Германн ©   (19.03.08 00:30) [2]
не поверишь) перед тем, как задать этот вопрос, я читал имено эту статью), видимо, недостаточно внимательно))

такс)

значит, первый вариант верный, так?


 
palva ©   (2008-03-19 16:36) [6]

> значит, первый вариант верный, так?
Ни тот, ни другой вариант неверный, если вы о представлении числа в том компьютере, с которым мы обычно имеем дело.

Либо объясните нам, что такое верный. Формат представления чисел можно придумать какой угодно.


 
Blind Guardian   (2008-03-19 17:24) [7]


> Формат представления чисел можно придумать какой угодно.


Я не про формат представления.

Вот смотрите.
Есть какое-то вещественное число в памяти компьютера. Мы переводим его значения его экспоненты и мантиссы в десятичное представление, и получаем, к примеру, что мантисса равна 8, а экспонента равна 2 (это уже всё в десятичном представлении). Оба знаковых бита установлены на 0, значит оба знака - плюсы. Вот вопрос: наше число равно 8*(10^2)=80 или 8*(2^2)=32  ??? То есть экспонента - это показатель степени с каким основанием: 2 или 10?

Раньше думал, что 10. Но ведь в компьютере то всё в двоичной системе. И было бы очень нерационально, если бы экспонента показывала показатель степени в основанием десять. Ведь всё равно приходилось бы перед каждым действием переводить всё в двоичную систему.


 
palva ©   (2008-03-19 17:41) [8]

На самом деле все сложнее. У числа 1 (double) мантисса будет равна нулю, а экспонента равна 1023. (А почему бы вам самому не посмотреть и не убедиться?)

Но в общем вы правы, в качестве основания степени нужно использовать число 2.


 
Blind Guardian   (2008-03-19 19:30) [9]

palva ©   (19.03.08 17:41) [8]
да. я знаю, почему 1023. Но волновало меня не это.

Спасибо за ответ!


 
Сергей М. ©   (2008-03-19 19:59) [10]


> волновало меня не это


Неужели Гондурас ?!)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.04.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
15-1203860095
Ega23
2008-02-24 16:34
2008.04.13
Любителям сайтов типа "Одноклассники"


2-1205745505
k@te4ka
2008-03-17 12:18
2008.04.13
указатель в процедуре


2-1205520894
Vikindos
2008-03-14 21:54
2008.04.13
Как построчно считывать содержимое из файла?


2-1205939766
Vask
2008-03-19 18:16
2008.04.13
Как сделать приложение Delphi автономным?


15-1203812771
Mailer
2008-02-24 03:26
2008.04.13
Как работать с архивами *.tar.bz2 без дополнительных dll и





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский