8 / 8 / 0
Регистрация: 15.07.2010
Сообщений: 255
|
||||||
1 | ||||||
Преобразование int в float11.05.2011, 19:53. Просмотров 18099. Ответов 9
Метки нет Все метки)
(
Добрый день!
20110511 2.01105e+007 Число float состоит из 1 бита знака, 8 бит экспоненты и 23 бит мантиссы. Бинарное представление 20110511: 0000 0001 0011 0010 1101 1100 1010 1111 Видно, что 24-й бит равен 1, где находятся биты экспоненты. При более 6 цифр в значение x число отображается с учётом экспоненты. Как решить проблему?
0
|
|
11.05.2011, 19:53 | |
Как происходит преобразование int<<float<int ОШИБКА [Error] cannot convert 'int*' to 'float*' for argument '1' to 'void Syma(float*,int*,int)
Функции float average(int arrray[],int from,int to) |
|
538 / 443 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
|
||||||
11.05.2011, 21:34 | 2 | |||||
попробуй так:
0
|
![]() 1062 / 841 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
11.05.2011, 21:47 | 4 |
Народ! Вы чего, совсем книжек не читаете?
Блин, читайте манипуляторы и конкретно setprecision()
0
|
0 / 0 / 0
Регистрация: 18.03.2011
Сообщений: 19
|
|
11.05.2011, 21:49 | 5 |
alexsvk, а что вас, собственно, не устраивает? Все правильно выводит, только погрешность 11 присутствует, но это наверно исправится если использовать SetPrecision.
int x=2; float* pf=(float*)&x; float a=*pf;
0
|
8 / 8 / 0
Регистрация: 15.07.2010
Сообщений: 255
|
|
11.05.2011, 22:20 [ТС] | 6 |
Результат ещё хуже:
20110511 3.28518e-038 Мне нужно, чтобы рядом вывелись идентичные значения.
0
|
0 / 0 / 0
Регистрация: 18.03.2011
Сообщений: 19
|
|
12.05.2011, 10:37 | 7 |
alexsvk, если вам нужны идентичные значения, то вам уже сказали - используйте setprecision.
Число float состоит из 1 бита знака, 8 бит экспоненты и 23 бит мантиссы. Бинарное представление 20110511: 0000 0001 0011 0010 1101 1100 1010 1111 Если вы проинтерпретируете это как float, то и получите 3 с копейками *10^(-38).
0
|
8 / 8 / 0
Регистрация: 15.07.2010
Сообщений: 255
|
|
12.05.2011, 12:34 [ТС] | 8 |
Но зачем Вы предложили такой вариант выхода из ситуации. Задача в том, чтобы при выводе обеих переменных, выводилось идентичное значение (без использования манипуляторов).
0
|
3075 / 2396 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
|
||||||
12.05.2011, 13:13 | 9 | |||||
Без манипуляторов никак
0
|
8 / 8 / 0
Регистрация: 15.07.2010
Сообщений: 255
|
|
12.05.2011, 18:01 [ТС] | 10 |
В VS 6.0 использовал манипуляторы, но всё равно при выводе float значения используется экспонента.
0
|
12.05.2011, 18:01 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Почему при умножении разнотипных переменных (например, float и int) получается int? Необъявленный идентификатор, преобразование "int" в "float" Int в Float Int в float Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |