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

 
 
> Сравнение знаковых и беззнаковых, нюансы какие-то
SasaVitebsk
сообщение Jun 14 2006, 13:41
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Обращаюсь к общественности ещё раз. Что-то я недопонял.

Имеется вот такая строка.
// 607 if((x>XzMin)&&(x<MaxX)&&(y>MinY)&&(y<YzMax))
// 608 OutZnak(x,y,tekcolor,c);
Компилируется в это:
CP R2, R8
CPC R3, R9
BRGE ??ShowActive_33
CP R8, R0
CPC R9, R1
BRCC ??ShowActive_33
CP R20, R10
CPC R21, R11
BRCC ??ShowActive_33
CP R10, R18
CPC R11, R19
BRGE ??ShowActive_33
LDI R21, 35
RCALL ?Subroutine99

Переменные объявлены так:
// 53 __no_init int16_t static XzMin, YzMax; // Для упрощения сравнения
// 448 int16_t x,y;

XzMin =-11 (fff5)
MaxX = 71 (0047)

Если x <0 ну например -5(fff9), то OutZnak не выполняется(-5>71). Что я делаю не так?
Как будто не учитывается знак. Может как-то объявить это надо?
Go to the top of the page
 
+Quote Post



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

 


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


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