![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Account |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 212 Пол: Мужской Репутация: ![]() ![]() ![]() |
Занятная штука выходит и не пойму почему выводит 0, а не вещественное число. Вот код
#include <stdio.h> Сборка Turbo C++ Vercion 3.0 Работа через DosBox0.74 OS: WinXP SP3 Добавлено через 16 мин. Все, извиняюсь за поспешный вопрос. Вспомнил. Ранее уже сталкивался с преобразованием типов. Надо было явно указать 1.0/4 Сообщение отредактировано: Account - 28.11.2011 21:38 |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
КРЕСТОПРОБЛЕМЫ
А вот в нормальных языках хоть 1/4 и даёт целый ноль, но ты не сможешь присвоить его вещественному числу - пока не напишешь 1.0/4.0, программа просто не скомпилируется. -------------------- |
sheka |
![]()
Сообщение
#3
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
TarasBer, Pascal?
![]() Account, double h = (double) 1 / 4; Сообщение отредактировано: sheka - 29.11.2011 18:33 |
IUnknown |
![]()
Сообщение
#4
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
TarasBer, Pascal? В Паскале операция деления всегда возвращает вещественное число, и f: double; работает прекрасно. А вот в Аде все по-другому: или f : Float;(Приведение только одного числа к Float-у проблемы не решит, программа не будет компилироваться, пока оба операнда не будут одного типа ![]() |
TarasBer |
![]()
Сообщение
#5
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> f := Float (1/4); -- f = 0
В таком случае, если честно, тоже ноль не интуитивно очевиден, но всё-таки, если человек поставил Float вокруг всего выражения, то он это уже сделал сознательно и сам виноват, если что, а не его невнимательность. -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 26.06.2024 22:46 |