Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

глюк в Hi-tech-9.61-pro?

Непрочитано 07.12.2007, 15:04  
stri
Прописка
 
Аватар для stri
 
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
stri на пути к лучшему
По умолчанию глюк в Hi-tech-9.61-pro?

Здравствуйте. Столкнулся я с такой проблемой... Есть у меня ф-ция, вычисляющая a/(2^b). Написал я код в С, отладил, все ОК. Потом через какое то время обновил компилятор с 9.50 обычного на 9.61-pro. После этого ф-ция стала выдавать совершенно левые результаты. Вот код:

Код:
koef2=10;
mant2=5;
k2=((float)koef2/((int)1‹‹mant2));
9.50 выдает что к2=0.3125, а в 9.61-pro к2=2.5
Как такое возможно?
Реклама:
stri вне форума  
Непрочитано 07.12.2007, 15:41  
user_ushastyj
Временная регистрация
 
Регистрация: 06.12.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
user_ushastyj на пути к лучшему
По умолчанию

где-то читал, что 9ю61 не любит длинных выражений.
Попробуйте
Код:
mant2=1 ‹‹mant2;
k2=(float)koef2/(int)mant2;
Что тогда ?
__________________
разум когда-нибудь победит... (с)
user_ushastyj вне форума  
Непрочитано 07.12.2007, 16:10  
stri
Прописка
 
Аватар для stri
 
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
stri на пути к лучшему
По умолчанию

тогда выдает 1 9.50 выдает 0.3125
stri вне форума  
Непрочитано 07.12.2007, 16:13  
user_ushastyj
Временная регистрация
 
Регистрация: 06.12.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
user_ushastyj на пути к лучшему
По умолчанию

Это что, нормально ???
К вопросу о вреде новых версий...
Нет у меня 9.61 для проверки - я о нем на сахаре плохое читал...
__________________
разум когда-нибудь победит... (с)
user_ushastyj вне форума  
Непрочитано 07.12.2007, 16:17  
stri
Прописка
 
Аватар для stri
 
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
stri на пути к лучшему
По умолчанию

на всякий случай, вот ф-ция целиком:
Код:
unsigned int calc(unsigned int ADC,unsigned char koef,unsigned char koef1,unsigned char mant1,unsigned char koef2,unsigned char mant2){
unsigned int digi;
float k1,k2;

k1=((float)koef1/((int)1‹‹mant1));
k2=((float)koef2/((int)1‹‹mant2));

digi=(int)(((float)k1*ADC*ADC)+((float)k2*ADC));

if(koef›128)digi=(int)(((koef*digi)/128)-digi);
else digi=(int)(((koef*digi)/128)+digi);
return digi;
}
stri вне форума  
Непрочитано 07.12.2007, 16:30  
user_ushastyj
Временная регистрация
 
Регистрация: 06.12.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
user_ushastyj на пути к лучшему
По умолчанию

А размер флоат проверяли ? В смысле, в 9.50 и 9.61 ?
__________________
разум когда-нибудь победит... (с)
user_ushastyj вне форума  
Непрочитано 08.12.2007, 23:12  
DL36
Вид на жительство
 
Регистрация: 06.10.2006
Сообщений: 329
Сказал спасибо: 4
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
DL36 на пути к лучшему
По умолчанию

У 9.61 PRO есть проблемы, посмотри хотя бы та размер самого компилятора, он в два раза меньше обычного.

Пока его лучше использовать только для проектов с простой математикой, с короткими выражениями. Уж очень он не любит длинных строк.
DL36 вне форума  
Непрочитано 10.12.2007, 08:50  
stri
Прописка
 
Аватар для stri
 
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
stri на пути к лучшему
По умолчанию

user_ushastyj-да, это я проверяю в первую очередь, к тому же вообщем он флоаты нормально считает, пробелма была именно с этой конкретной ф-цией.

Всем спасибо, буду пользовать 9.50, похоже что этот PRO слишком уж профессиональный для меня...
stri вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MPLAB и Hi-Tech 3ann Микроконтроллеры, АЦП, память и т.д 0 14.07.2009 15:17
Размер функций в Hi-Tech C? stri Микроконтроллеры, АЦП, память и т.д 7 29.12.2007 15:49
Правильная задержка в HI-TECH PIC16 vsvetlov Микроконтроллеры, АЦП, память и т.д 1 06.09.2007 13:59
!!! Вопрос по HI-TECH !!! hubble Микроконтроллеры, АЦП, память и т.д 0 05.09.2007 05:53
Ну где же ты - Hi Tech C ??? Prime Микроконтроллеры, АЦП, память и т.д 7 07.09.2005 11:02


Часовой пояс GMT +4, время: 13:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.