реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Кейл, вопрос по компилятору
карамболь
сообщение Sep 4 2008, 06:34
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



недавно стал разбираться с Кейлом и обнаружил, что результат деления возвращается только целая часть, описание через float тоже ничего не дало, полагагаю, что это ньюанс гнутого компилятора ? как в такой ситуации поступают коллеги ? ну, или , что почитать ))) спасибо
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 4 2008, 07:07
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(карамболь @ Sep 4 2008, 12:34) *
недавно стал разбираться с Кейлом и обнаружил, что результат деления возвращается только целая часть, описание через float тоже ничего не дало, полагагаю, что это ньюанс гнутого компилятора ? как в такой ситуации поступают коллеги ? ну, или , что почитать ))) спасибо

Голословное заявление. Прошу внести в студию:
1. Код, где происходит глюкалово.
2. Конфигурацию проекта.
3. Версию Кейла.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Paramon
сообщение Sep 4 2008, 07:49
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997



Цитата(карамболь @ Sep 4 2008, 10:34) *
недавно стал разбираться с Кейлом и обнаружил, что результат деления возвращается только целая часть, описание через float тоже ничего не дало, полагагаю, что это ньюанс гнутого компилятора ? как в такой ситуации поступают коллеги ? ну, или , что почитать ))) спасибо


Код
float   x;
int      a = 5;
x = a / 2;                   //обратите внимание на представление двойки


получалось x = 2

Код
float   x;
int      a = 5;            
x = a / 2.0;                 //обратите внимание на представление двойки


получалось x = 2.5


Вы об этом?
Go to the top of the page
 
+Quote Post
карамболь
сообщение Sep 4 2008, 07:52
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



Цитата(Paramon @ Sep 4 2008, 11:49) *
Код
float   x;
int      a = 5;
x = a / 2;                   //обратите внимание на представление двойки


получалось x = 2

Код
float   x;
int      a = 5;            
x = a / 2.0;                 //обратите внимание на представление двойки


получалось x = 2.5
Вы об этом?


точно )) об этом ) спасибо ) если бы вы еще ткнули где про это почитать, чтоб вопросов глупых не задавать?
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 4 2008, 08:15
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(карамболь @ Sep 4 2008, 13:52) *
точно )) об этом ) спасибо ) если бы вы еще ткнули где про это почитать, чтоб вопросов глупых не задавать?

Любое описание языка Си. Вопросы неявного преобразования типов.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
карамболь
сообщение Sep 4 2008, 08:33
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



Цитата(zhevak @ Sep 4 2008, 12:15) *
Любое описание языка Си. Вопросы неявного преобразования типов.


то есть, это из стандартного Си? Странно, на других платформах, с другими компиляторами так извращаться не приходилось wacko.gif в любом случае, спасибо ) пошел Кернигана читать )
Go to the top of the page
 
+Quote Post
Karina
сообщение Sep 4 2008, 20:21
Сообщение #7





Группа: Новичок
Сообщений: 7
Регистрация: 30-01-06
Пользователь №: 13 778



Как то тоже была такая проблема, долго ломал голову.
Цитата
float x; int a = 5; x = (float)a/2;
Go to the top of the page
 
+Quote Post
1_pete
сообщение Sep 14 2008, 06:27
Сообщение #8





Группа: Участник
Сообщений: 13
Регистрация: 15-04-07
Из: Киев, Украина
Пользователь №: 27 050



Попробуйте явное приведение

float x;
int a = 5;
x = (float) a / 2.0;
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016