Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/137: Рейтинг темы: голосов - 137, средняя оценка - 4.78
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16

2-ичное представление числа типа double или float?

04.11.2009, 13:45. Показов 26390. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите разобратся,,,, плиз))
double a=1991.829;
a==01000000 10011111 00011111 01010000 11100101 01100000 01000001 10001001;
скажите пожалуйста как число а преврашается вот в это?(какой бит чему ответственен?)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2009, 13:45
Ответы с готовыми решениями:

Получить q ичное представление числа
Даны натуральные числа p и q(q>=2).Получить q-ичное представление числа p в виде такой последовательности a...a целых неотрицательных чисел...

Как проверить вводилось ли число (типа double или float) в консоль
Как проверить вводилось ли число (типа double или float) в консоль?

Неправильно отнимаются числа типа float(double)
Сразу говорю, что перезайти в решение - не вариант. Итак, у меня есть малюсенькая нейронная сеть, но это так, что б понимать код, но...

21
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
04.11.2009, 14:09
или мне кажется или double означает по умолчанию double int, a число а - с десятичной точкой (тип float)

Добавлено через 20 секунд
наверно из-за этого и получается такое

Добавлено через 1 минуту
11111000111,110101 - вот правильный результат

Добавлено через 2 минуты
вот этому числу соответствует 4 байта(float)
вашему числу соответствует 8 байт, как и полагается типу double
вот где-то тут и загвоздка
0
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16
04.11.2009, 14:13  [ТС]
Цитата Сообщение от Iworb Посмотреть сообщение
или мне кажется или double означает по умолчанию double int, a число а - с десятичной точкой (тип float)

Добавлено через 20 секунд
наверно из-за этого и получается такое

Добавлено через 1 минуту
11111000111,110101 - вот правильный результат
не брат, ты написал как 1991,829 предстовляется в 2-ичной форме, я написал как число дабл читается в С++, ихочу знать почему именно так
0
 Аватар для ООП
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 13
04.11.2009, 14:14
Если не ошибаюсь, то это для сопроцессора тип.
0
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16
04.11.2009, 14:21  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
using namespace std;
 
union bits
{
    bits(double n);
    void show_bits();
    double d;
    unsigned char c[sizeof(double)];
};
bits::bits(double n)
{
    d=n;
}
void bits::show_bits()
{
    int i,j;
    for(j=sizeof(double)-1;j>=0;j--)
    {
        cout<<"двоичное представление байта "<<j<<":";
        for(i=128;i;i>>=1)
        {
            if(i & c[j])
            {
                cout<<"1";
            }
            else
            {
                cout<<"0";
            }
        }
        cout<<endl;
    }
}
int main()
{
    setlocale(LC_ALL,"Russian");
    bits ob(1991.829);
    ob.show_bits();
    return 0;
    system("pause");
}
вот моя прога

двоичное представление байта 7:01000000
двоичное представление байта 6:10011111
двоичное представление байта 5:00011111
двоичное представление байта 4:01010000
двоичное представление байта 3:11100101
двоичное представление байта 2:01100000
двоичное представление байта 1:01000001
двоичное представление байта 0:10001001
Press any key to continue . . .

вот ответ,,,,,вопрос!!! как так получилась?))
1
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
04.11.2009, 14:39
ну вот, оно тебе КАЖДУЮ цифру представила в двоичном представление байта + точка десятичная

Добавлено через 45 секунд
а вот как получилось - это уже не ко мне =(
0
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16
04.11.2009, 15:10  [ТС]
Цитата Сообщение от Iworb Посмотреть сообщение
ну вот, оно тебе КАЖДУЮ цифру представила в двоичном представление байта + точка десятичная
не друг я и этот вариант проверял это не так

Добавлено через 29 минут
кто нибудь хелп ми
0
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 22
04.11.2009, 15:21
http://www.rus-edu.bg/edu/onli... 4/1_4.html

Добавлено через 6 минут
если вкратце - берёшь десятичную часть дроби, умножаешь её на два, записываешь целую часть произведения в мозг, дробную часть получившегося умножаешь на два, и опять записывешь целую часть. и так много раз (в зависимости от того, какая точность нужна). потом берёшь целую часть дроби и переводишь её в двоичную систему обычным способом (делением в столбик). а потом записываешь ответы через запятую
0
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16
04.11.2009, 15:53  [ТС]
Цитата Сообщение от temni Посмотреть сообщение
http://www.rus-edu.bg/edu/onli... 4/1_4.html

Добавлено через 6 минут
если вкратце - берёшь десятичную часть дроби, умножаешь её на два, записываешь целую часть произведения в мозг, дробную часть получившегося умножаешь на два, и опять записывешь целую часть. и так много раз (в зависимости от того, какая точность нужна). потом берёшь целую часть дроби и переводишь её в двоичную систему обычным способом (делением в столбик). а потом записываешь ответы через запятую
так шитать я тоже умею))) ты смотри по више, там я кокретизировал вопрос

Добавлено через 23 минуты
дайте точный ответ пожалуйста
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.11.2009, 15:57
Цитата Сообщение от Hayk Посмотреть сообщение
ты смотри по више, там я кокретизировал вопрос
Не знаю, что ты там конкретизировал, но я так и не понял, ты хочешь понять, как вообще плавающие числа в двоичной системе представляются или как они хранятся в машине

Можешь пока тут почитать http://ru.wikipedia.org/wiki/Плавающая_запятая
Я вообще хотел faq по этому вопросу написать, но никак руки не доходят. А объяснить на пальцах быстро не получится
1
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16
04.11.2009, 16:00  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Не знаю, что ты там конкретизировал, но я так и не понял, ты хочешь понять, как вообще плавающие числа в двоичной системе представляются или как они хранятся в машине

Можешь пока тут почитать http://ru.wikipedia.org/wiki/Плавающая_запятая
Я вообще хотел faq по этому вопросу написать, но никак руки не доходят. А объяснить на пальцах быстро не получится
спсб вопрос был про цифр с плавающей точкой
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.11.2009, 16:01
Цитата Сообщение от Hayk Посмотреть сообщение
спсб вопрос был про цифр с плавающей точкой
Ты можешь внятно и членораздельно задать свой вопрос?
0
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16
04.11.2009, 16:06  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Ты можешь внятно и членораздельно задать свой вопрос?
как число типа дабл пишется в двоичной форме(по кокому алгоритму делается перевод?)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.11.2009, 16:13
Цитата Сообщение от Hayk Посмотреть сообщение
как число типа дабл пишется в двоичной форме(по кокому алгоритму делается перевод?)
Есть два совершенно непересекающихся вопроса:
1. Двоичная запись действительных чисел (грубо говоря, как записывать на листочке)
2. Представление действитеельных чисел в машине. Запись числа на листочке НЕ совпадает с машинным представленим (хотя для целых чисел они, условно, совпадают)

С ходу что-то ссылки на первое и второе не найду. Хотя и на форуме они встречались не раз, и объяснения даже какие-то были
0
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16
04.11.2009, 16:16  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Есть два совершенно непересекающихся вопроса:
1. Двоичная запись действительных чисел (грубо говоря, как записывать на листочке)
2. Представление действитеельных чисел в машине. Запись числа на листочке НЕ совпадает с машинным представленим (хотя для целых чисел они, условно, совпадают)

С ходу что-то ссылки на первое и второе не найду. Хотя и на форуме они встречались не раз, и объяснения даже какие-то были
2.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.11.2009, 16:18
По первому вопросу: Формат данных с плавающей точкой
По второму вопросу: http://www.softelectro.ru/ieee754.html, но не слишком доходчиво
1
14 / 14 / 0
Регистрация: 08.07.2009
Сообщений: 61
04.11.2009, 17:41
вспомню свои знания, например, тип с плавающей запятой одинарной точности, он же float (32 бита всего) представлен в виде трёх компонент, которые идут в представлении в таком порядке: знак числа (1 бит), порядок числа (8 бит), мантисса числа (23 бита).
Знак числа может быть 0 или 1, если 1, то отрицательный.
Порядок числа - хранит степень 10-ти, на которую надо умножить мантиссу, чтоб получить само число, порядок может принимать значения от -128 до 127, но насколько я помню, в х86 принято хранить его со смещением, т.е. к настоящему порядку прибавляется 128 и он хранится только в положительном виде.
Мантисса - хранит значимые цифры числа, причем в данном случае в нормализованном виде, т.е. в виде наибольшей десятичной дроби, меньшей 1. Но так как такая последовательность всегда будет начинаться с двоичной единицы, то для экономии и увеличения разрядности её "сдвигают" в первый целый разряд и как бы подразумевают, а первой в последовательности мантиссы становится вторая двоичная цифра (это может быть 0 и 1). Да, и еще отрицательные числа хранятся в дополнительном коде. С double то же самое, только размер порядка и мантиссы побольше, кажется 11 и 52 соответственно.
0
3 / 3 / 1
Регистрация: 05.09.2008
Сообщений: 6
07.12.2009, 12:07
Читай здесь
Подробнее нужно?
И зачем тебе? =) Ты часом не физтех?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
09.06.2011, 09:08
Цитата Сообщение от Iworb Посмотреть сообщение
double означает по умолчанию double int
C++
1
double
по дефолу соответсвует одной из реализаций
Code
1
real8
- восьмибайтному вещественном утипу, у которого и мантисса, и порядок имеют знаки.

Добавлено через 1 минуту
Цитата Сообщение от Iworb Посмотреть сообщение
11111000111,110101
В памяти запятая не ставится, а подразумевается, а ТВ запостил сырые биты.
0
0 / 0 / 0
Регистрация: 23.04.2018
Сообщений: 16
21.10.2019, 11:44
Набор нулей и единиц - данное число в представлении числа с плавающей точкой
На вопрос почему так получается, потому что есть алгоритм "перевода представления" (хз, как по-другому назвать), если интересно, то подробную информацию можно найти загуглив "IEEE754"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.10.2019, 11:44
Помогаю со студенческими работами здесь

представление в памяти компьютера числа типа double
Запишите на языке Pascal программу с использованием процедур (функций): определить для произвольного вещественного десятичного числа типа...

Определить для произвольного вещественного десятичного числа типа double его представление в памяти компьютера
Составить математическую модель, блок-схему и записать на языке Pascal программу с использованием процедур (функций) для решения следующих...

Double/float двоичное представление
отрывок из статьи о представлении числа с плавающей точкой. Порядок вычисляется как E-127 . Но ведь при таком вычислении нельзя...

Нужна компонента: что-то типа StringGrid, но значения ячеек должны иметь тип числа (float, double и т.д.)
Уважаемые дамы и господа! Если у кого-то есть, или кто-то знает где можно взять компоненту под билдер: что-то типа StringGrid, но...

Передача переменной типа double из c# в переменную типа float в SQL
Здравствуйте, имеется проблема с передачей данных из кода c# в бд SQL Имеется переменная типа double, к примеру double newPrice =...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru