Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с типами переменных / 4 сообщений из 4, страница 1 из 1
16.08.2005, 12:05
    #33217509
Krolikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с типами переменных
У меня в коде:
Код: plaintext
1.
2.
int PixelsPerInchOnScreen;
float K;
K =  1 /PixelsPerInchOnScreen;
Этим я хочу узнать коэфициенты при переходе на разные системы исчисления.
У меня по ходу выполнения программы PixelsPerInchOnScreen = 96 а когда пошагово выполняю - К = 0
Почему 1/96 = 0 ?
...
Рейтинг: 0 / 0
16.08.2005, 12:15
    #33217560
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с типами переменных
Потому что у тебя сначала выполняется целочисленное деление, а уже после результат приводится к float. Тебе надо вычисление с плавающей запятой:

Код: plaintext
K =  1 . 0 /PixelsPerInchOnScreen;
...
Рейтинг: 0 / 0
16.08.2005, 12:16
    #33217566
SeraTJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с типами переменных
Сделай так:

Код: plaintext
1.
2.
int PixelsPerInchOnScreen;
float K;
K =  1 ./PixelsPerInchOnScreen;

и все заработает. ;)

Вобщем, 1 - int, PixelsPerInchOnScreen - int, поэтому здесь выполняется целочисленное деление, тогда 1/96 = 0. А только после этого проиходит преобразование в тип float нуля. Поэтому получается ноль.

можно еще заменить 1-ку на 1f
...
Рейтинг: 0 / 0
16.08.2005, 12:19
    #33217584
Krolikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с типами переменных
Спасибо ! А то я бы промучался :) Теперь буду знать :)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с типами переменных / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]