Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Решен? :-) Ахтунг! Покрышкин всё еще ин люфт! ( out >> 127 )
Отправлено
VasilyS
(80.92.96.25)
11 февраля 2010, г. 13:03
В ответ на:
Ответ: Вопрос решен, но выложить попробую с тегами - самому интересно.
отправлено dshabrov 11 февраля 2010, г. 13:00
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ: Блин, не выполняется условие без >>. Я незнаю почему.
-
dshabrov
(11.02.2010, 13:10:32
84.21.231.242
,
пустое
)
">>" - это сдвиг, а не "больше".
-
VasilyS
(11.02.2010, 13:06:55
80.92.96.25
,
пустое
)
Ответ: Я серьезно говорю+++
-
dshabrov
(11.02.2010, 13:13:13
84.21.231.242
, 219 байт)
(out>>127) - всегда возвращает значение true. Объявите "unsigned char out;" тогда (out>127) будет работать правильно
-
misyachniy
(11.02.2010, 13:33:43
194.187.111.110
,
пустое
)
Ответ: unsigned сделало свое дело. Работает с >. Спасибо.
-
dshabrov
(11.02.2010, 13:47:12
84.21.231.242
,
пустое
)
почему true ?
-
DASM
(11.02.2010, 13:47:9
89.163.14.219
,
пустое
)
Потому что ничего не мешает сдвинуть число на 127 разрядов вправо. так ( (out>127)) всегда будет false. если число не 128 или 256 разрядное ;-)
-
misyachniy
(11.02.2010, 13:52:2
194.187.111.110
,
пустое
)
гонишь ты. Это число просто станет нулем, то бишь false
-
DASM
(11.02.2010, 13:54:5
89.163.14.219
,
пустое
)
Недетерменировано. На одних машинах знаковое число двигается >> логически (0 залезает), а на других - арифметически (знак распространяется, например ИАР). См. по сцылке п2.9
-
VasilyS
(11.02.2010, 16:05:38
80.92.96.25
,
пустое
,
ссылка
)
Не "машинах" а "компиляторах" конечно...
-
VasilyS
(11.02.2010, 16:06:31
80.92.96.25
,
пустое
)
Ответ: Возможно это сработало+++
-
dshabrov
(11.02.2010, 14:10:7
84.21.231.242
, 347 байт)
потому что более 128 в случае переменной типа signed - это отрицательное число. Ну а дальше сам читай литературу, что будет со знаковыми отриц числами при сдвиге. И вообще, что это за бред - зачем на 127 бит СДВИГАТЬ число ?
-
DASM
(11.02.2010, 14:34:26
89.163.14.219
,
пустое
)
Ответ: Да блин, по незнанию это все. Конечно я сделал IF >. Просто удивило, что и в этом случае работало правильно. Такое редко бывает.
-
dshabrov
(11.02.2010, 14:48:22
84.21.231.242
,
пустое
)
Наверное по следующему соображению(+)
-
misyachniy
(11.02.2010, 17:37:22
194.187.111.110
, 699 байт)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru