Найти на форуме:
Loading




+ Ответить в теме
Показано с 1 по 8 из 8

Тема: Глюк Blitz3D ?

  1. #1
    c58
    c58 вне форума
    Активист c58 Странник Аватар для c58

    Регистрация
    08.08.2008
    Сообщений
    553
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    Восклицание Глюк Blitz3D ?

    Создаю переменную dt#=0.1. в самом теле программы пишу a#=a#+dt#. А уже перед Flip есть такое TEXT 10,10,a#.... Все бы ничего. Но а# не изменяется на 0.1 постоянно. Где-то с 8 результат типа 8.0001, а с 30 уже 30.9999. Это не совсем то что нужно. Кто знает? Как это лечится? Заранее благодарствую.

  2. #2
    Грозный Супер-Модератор lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша Аватар для lucky

    Регистрация
    20.09.2006
    Сообщений
    5,360
    Сказал(а) спасибо
    5,001
    Поблагодарили 3,623 раз(а) в 1,006 сообщениях

    По умолчанию

    Глюк в твоем коде, а не в Блитце.
    Не видя его весь трудно сказать, в чем там дело


    a#=a#+dt#
    в цикле ?

    какая система синхронизации используется ?
    если "цикл в цикле" то все ясно:
    внутри вложенного цикла ты прибавляешь значение, а выводишь внутри внешнего

  3. #3
    c58
    c58 вне форума
    Активист c58 Странник Аватар для c58

    Регистрация
    08.08.2008
    Сообщений
    553
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Я разобрался с этим глюком в С++, это никакая не синхронизация - это недостаток IEEE 754 - стандарт двоичной арифметики с плавающей точкой
    Гыыы...

    "внутри вложенного цикла ты прибавляешь значение, а выводишь внутри внешнего" - а тогда ясно))) Правильно. Я переменной передаю значение 0,1 а потом она меняет свое значение на 0,100000000000000000000000001 - это из-за цикла "так и думал". )) При чем тут это? Хоть в Африке его выводи. Если его задал - на выходе должен то и получить.... Это бок двоичного счисления... Хотя в С++ такого не наблюдаю, а вот Блиц, который писан на том же С дает класс...
    Siona: Тебе жизнь вообще для чего дана? Чтобы воплощать свои фантазии в действительность.
    Kaizer: Этому помешают законы физики и УК РФ. :p

  4. #4
    Грозный Супер-Модератор lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша Аватар для lucky

    Регистрация
    20.09.2006
    Сообщений
    5,360
    Сказал(а) спасибо
    5,001
    Поблагодарили 3,623 раз(а) в 1,006 сообщениях

    По умолчанию

    Епр
    Это нормальное поведение флоатов во всех языках программирования.
    При чем тут Блитц ?
    в сях ты наверное используешь другой формат (дубль), вот и все.

  5. #5
    c58
    c58 вне форума
    Активист c58 Странник Аватар для c58

    Регистрация
    08.08.2008
    Сообщений
    553
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Неа... флоат
    Siona: Тебе жизнь вообще для чего дана? Чтобы воплощать свои фантазии в действительность.
    Kaizer: Этому помешают законы физики и УК РФ. :p

  6. #6
    Грозный Супер-Модератор lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша Аватар для lucky

    Регистрация
    20.09.2006
    Сообщений
    5,360
    Сказал(а) спасибо
    5,001
    Поблагодарили 3,623 раз(а) в 1,006 сообщениях

    По умолчанию

    Цитата Сообщение от c58 Посмотреть сообщение
    Неа... флоат
    http://forum.boolean.name/
    там все есть
    и про флоаты в сях

  7. #7
    c58
    c58 вне форума
    Активист c58 Странник Аватар для c58

    Регистрация
    08.08.2008
    Сообщений
    553
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Цитата Сообщение от lucky Посмотреть сообщение
    http://forum.boolean.name/
    там все есть
    Очень познавательно... Но что иммено там есть - меня не интересует.
    Siona: Тебе жизнь вообще для чего дана? Чтобы воплощать свои фантазии в действительность.
    Kaizer: Этому помешают законы физики и УК РФ. :p

  8. #8
    Грозный Супер-Модератор lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша lucky Святоша Аватар для lucky

    Регистрация
    20.09.2006
    Сообщений
    5,360
    Сказал(а) спасибо
    5,001
    Поблагодарили 3,623 раз(а) в 1,006 сообщениях

    По умолчанию

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

+ Ответить в теме

Похожие темы

  1. размер меша в Blitz3D
    от c58 в разделе Администрирование и программирование
    Ответов: 13
    Последнее сообщение: 15.02.2009, 21:01
  2. Ответов: 1
    Последнее сообщение: 05.12.2008, 15:32
  3. С++ IrrLicht VS Blitz3D
    от Akichi в разделе Администрирование и программирование
    Ответов: 45
    Последнее сообщение: 29.09.2008, 21:12

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Херсонский ТОП   Рейтинг@Mail.ru МЕТА - Украина. Рейтинг сайтов

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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112