Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха.

 
Опции темы
Непрочитано 02.08.2018, 14:25  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Сообщение от OlegNZH Посмотреть сообщение
в качестве примера выражение f=а*+(b*с) )
подобными примерами пишут либо шары в языке и компиляторе, либо просто для понта. Обычные горе-программеры напишут чуть сложнее, зато понятнее. А компилятор потом все равно оптимизирует, как надо.
Ara41 вне форума  
Непрочитано 03.08.2018, 12:14  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Сообщение от OlegNZH Посмотреть сообщение
Да нееее!!! Там этот пример был под номером 1 - т.е логично предположить
что к унарному минусу относился .. Так , что Тильда - это как-бы унарный минус должен был быть ... Они-же ПОХОЖИ!
Унарный минус - арифметическая операция. Её можно записать как
Код:
-x = ~x + 1;
'~' - логическая операция, определяется как инверсия всех разрядов переменной. Так что, это две большие разницы.

Последний раз редактировалось Bill; 03.08.2018 в 12:17.
Bill вне форума  
Сказали "Спасибо" Bill
Yuri222 (03.08.2018)
Непрочитано 03.08.2018, 12:21  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,046
Сказал спасибо: 2,775
Сказали Спасибо 2,726 раз(а) в 2,015 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Сообщение от Bill Посмотреть сообщение
Её можно записать как
можно или нет - от икса зависит.
Yuri222 вне форума  
Непрочитано 03.08.2018, 13:26  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Сообщение от Yuri222 Посмотреть сообщение
можно или нет - от икса зависит.
От икса это никак не зависит.
Bill вне форума  
Непрочитано 03.08.2018, 17:38  
mahacytl
Прописка
 
Регистрация: 18.09.2008
Сообщений: 271
Сказал спасибо: 237
Сказали Спасибо 127 раз(а) в 69 сообщении(ях)
mahacytl на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

В каждом компиляторе встречаются мелкие "недоразумения".
Навскидку, в компиляторе Keil 5.XX для контроллера ADuC объявил переменную unsigned char, по ходу проги проверяется условие равенства нулю
Не выполняется, однако.
После отладки и проверки дизассемблированого кода выясняется, что в коде на нуль проверяются два соседних байта, т.е. фактически переменную компилятор объявил как int.
Могут сказать, надо проверить настройки компилятора.
Проблема давно решена в проге.
Но не надо меня убеждать, что если я объявил unsigned char - однобайтную переменную, это стандартный размер ячейки памяти для ADuC845, это не ADuC7061 c ARM архитектурой - что это я недодумал, недонастроил, это не мой косяк, а компилятора.
Unsigned char - однобайтная переменная по определению Си, и если компилятор пользуется неоднобайтным пространством для переменной, то это его задача правильно создать код, не учитывая другие байты. Не соответствие стандарту Си, однако.
mahacytl вне форума  
Непрочитано 03.08.2018, 19:02  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Сообщение от mahacytl Посмотреть сообщение
Навскидку, в компиляторе Keil 5.XX для контроллера ADuC объявил переменную unsigned char, по ходу проги проверяется условие равенства нулю
Не выполняется, однако.
После отладки и проверки дизассемблированого кода выясняется, что в коде на нуль проверяются два соседних байта, т.е. фактически переменную компилятор объявил как int.
Код в студию!
Bill вне форума  
Непрочитано 03.08.2018, 19:21  
mahacytl
Прописка
 
Регистрация: 18.09.2008
Сообщений: 271
Сказал спасибо: 237
Сказали Спасибо 127 раз(а) в 69 сообщении(ях)
mahacytl на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Сообщение от Bill
Код в студию!
Попозже, сейчас пьятница!
mahacytl вне форума  
Непрочитано 03.08.2018, 23:42  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 722
Сказал спасибо: 363
Сказали Спасибо 803 раз(а) в 377 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Поведение целочисленных типов

Последний раз редактировалось j-Roger; 03.08.2018 в 23:45.
j-Roger вне форума  
Непрочитано 06.08.2018, 21:32  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Сообщение от Ara41 Посмотреть сообщение
подобными примерами пишут либо шары в языке и компиляторе, либо просто для понта. Обычные горе-программеры напишут чуть сложнее, зато понятнее. А компилятор потом все равно оптимизирует, как надо.
Этт Точно . Меня вот всегда нервируют апологеты Си , которые в качестве контраргументов против Паскаля приводят НемыслИмого вида выражения , состоящего из одних операндов и операций ....плюсики-минусики ... ВОТ!МЫ ТАК УМЕЕМ! Попробуй Повтори ТАК Кратко! (а то , что бошку сломаешь , пока расшифруешь- это не важно .... и не факт , что Правильно будет Работать ) ....(Я за Строгость ... Например В том-же Паскале мне не нравилось , что для переменных Регистр не играет роли ...Си- сразу на место ставит (очень удобно очипятки вылавливать) , но зато проверка Типов в Паскале более строгая ... и т.д. ) (Если чо - Паскаль у меня вспомогательный , только для связи МК с PC )

Последний раз редактировалось OlegNZH; 06.08.2018 в 22:05.
OlegNZH вне форума  
Непрочитано 06.08.2018, 22:14  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Что-то я перестал понимать Си.

Сообщение от OlegNZH Посмотреть сообщение
но зато проверка Типов в Паскале более строгая ...
Удивительно, но - факт. Единственный аргумент у разных любителей паскаля. Примеряю на себя - нужно ли оно мне? - так я и без того, вроде, педали не путаю...
А вот синтаксис... Не, не хочу с ним связываться...
Ежли чо, то это просто мысли вслух и легкое бурчание. Не более того.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестал работать таймер ivst1980 Источники питания и свет 21 28.11.2013 09:18
ПДУ от ТВ перестал работать Bagrat Видеотехника 77 06.12.2011 18:30
Sony KV-M2540D, после попыток включиться, перестал включаться вообще. Sezar59 Видеотехника 6 24.08.2011 01:18
контроллер перестал определяться Камилл Микроконтроллеры, АЦП, память и т.д 20 16.04.2010 09:05
Перестал програмироватяься ATmega8 BodyZ Микроконтроллеры, АЦП, память и т.д 13 20.02.2007 16:05


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot