Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха. |
02.08.2018, 14:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Сообщение от OlegNZH
|
в качестве примера выражение f=а*+(b*с) )
|
подобными примерами пишут либо шары в языке и компиляторе, либо просто для понта. Обычные горе-программеры напишут чуть сложнее, зато понятнее. А компилятор потом все равно оптимизирует, как надо.
|
|
|
|
03.08.2018, 12:14
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Сообщение от OlegNZH
|
Да нееее!!! Там этот пример был под номером 1 - т.е логично предположить
что к унарному минусу относился .. Так , что Тильда - это как-бы унарный минус должен был быть ... Они-же ПОХОЖИ!
|
Унарный минус - арифметическая операция. Её можно записать как '~' - логическая операция, определяется как инверсия всех разрядов переменной. Так что, это две большие разницы.
Последний раз редактировалось Bill; 03.08.2018 в 12:17.
|
|
|
|
03.08.2018, 12:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,046
Сказал спасибо: 2,775
Сказали Спасибо 2,726 раз(а) в 2,015 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Сообщение от Bill
|
Её можно записать как
|
можно или нет - от икса зависит.
|
|
|
|
03.08.2018, 13:26
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Сообщение от Yuri222
|
можно или нет - от икса зависит.
|
От икса это никак не зависит.
|
|
|
|
03.08.2018, 17:38
|
|
Прописка
Регистрация: 18.09.2008
Сообщений: 271
Сказал спасибо: 237
Сказали Спасибо 127 раз(а) в 69 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
В каждом компиляторе встречаются мелкие "недоразумения".
Навскидку, в компиляторе Keil 5.XX для контроллера ADuC объявил переменную unsigned char, по ходу проги проверяется условие равенства нулю
Не выполняется, однако.
После отладки и проверки дизассемблированого кода выясняется, что в коде на нуль проверяются два соседних байта, т.е. фактически переменную компилятор объявил как int.
Могут сказать, надо проверить настройки компилятора.
Проблема давно решена в проге.
Но не надо меня убеждать, что если я объявил unsigned char - однобайтную переменную, это стандартный размер ячейки памяти для ADuC845, это не ADuC7061 c ARM архитектурой - что это я недодумал, недонастроил, это не мой косяк, а компилятора.
Unsigned char - однобайтная переменная по определению Си, и если компилятор пользуется неоднобайтным пространством для переменной, то это его задача правильно создать код, не учитывая другие байты. Не соответствие стандарту Си, однако.
|
|
|
|
03.08.2018, 19:02
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Сообщение от mahacytl
|
Навскидку, в компиляторе Keil 5.XX для контроллера ADuC объявил переменную unsigned char, по ходу проги проверяется условие равенства нулю
Не выполняется, однако.
После отладки и проверки дизассемблированого кода выясняется, что в коде на нуль проверяются два соседних байта, т.е. фактически переменную компилятор объявил как int.
|
Код в студию!
|
|
|
|
03.08.2018, 19:21
|
|
Прописка
Регистрация: 18.09.2008
Сообщений: 271
Сказал спасибо: 237
Сказали Спасибо 127 раз(а) в 69 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Сообщение от Bill
|
Код в студию!
|
Попозже, сейчас пьятница!
|
|
|
|
03.08.2018, 23:42
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 722
Сказал спасибо: 363
Сказали Спасибо 803 раз(а) в 377 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Последний раз редактировалось j-Roger; 03.08.2018 в 23:45.
|
|
|
|
06.08.2018, 21:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Сообщение от Ara41
|
подобными примерами пишут либо шары в языке и компиляторе, либо просто для понта. Обычные горе-программеры напишут чуть сложнее, зато понятнее. А компилятор потом все равно оптимизирует, как надо.
|
Этт Точно . Меня вот всегда нервируют апологеты Си , которые в качестве контраргументов против Паскаля приводят НемыслИмого вида выражения , состоящего из одних операндов и операций ....плюсики-минусики ... ВОТ!МЫ ТАК УМЕЕМ! Попробуй Повтори ТАК Кратко! (а то , что бошку сломаешь , пока расшифруешь- это не важно .... и не факт , что Правильно будет Работать ) ....(Я за Строгость ... Например В том-же Паскале мне не нравилось , что для переменных Регистр не играет роли ...Си- сразу на место ставит (очень удобно очипятки вылавливать) , но зато проверка Типов в Паскале более строгая ... и т.д. ) (Если чо - Паскаль у меня вспомогательный , только для связи МК с PC )
Последний раз редактировалось OlegNZH; 06.08.2018 в 22:05.
|
|
|
|
06.08.2018, 22:14
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
|
Re: Что-то я перестал понимать Си.
Сообщение от OlegNZH
|
но зато проверка Типов в Паскале более строгая ...
|
Удивительно, но - факт. Единственный аргумент у разных любителей паскаля. Примеряю на себя - нужно ли оно мне? - так я и без того, вроде, педали не путаю...
А вот синтаксис... Не, не хочу с ним связываться...
Ежли чо, то это просто мысли вслух и легкое бурчание. Не более того.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:11.
|
|