|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.04.2018, 13:39 | #1 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Сравнение знаковых и беззнаковых значений
Здравствуйте.
IDE Atmel Studio 7. Я понимаю, что лучше не сравнивать знаковые и беззнаковые значения. Но всё же ... Код:
Если двухбайтные (int16_t и uint16_t) - выполняется. Боюсь заработаю гексакосиойгексеконтагексафобию. Последний раз редактировалось avd; 16.04.2018 в 15:19. |
16.04.2018, 16:41 | #2 | |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
createlink.gif Вот тут написано почему так не надо
Цитата:
Последний раз редактировалось Alter; 16.04.2018 в 17:23. |
|
16.04.2018, 16:56 | #3 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Alter, спасибо.
Но почему программа выполняется по разному с однобайтными и двухбайтными числами? |
16.04.2018, 17:04 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Если результат вычитания трактуется как беззнаковый, то больше 1, если знаковый то меньше. И как там еще компилятор с единицей сравнивает. Это у разрабов компилятора нужно спрашивать ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
16.04.2018, 18:12 | #5 | |||
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Возможно это:
Сравнение знаковых и беззнаковых чисел - C++ Цитата:
Типы описаны в stdint.h Например: C:\Program Files\Arduino\hardware\tools\avr\av r\include\stdint.h Нескольно простых вопросов о программировании AVR на Си. Цитата:
Вот эксперимент на ARDUINO 1.8.5, Arduino Nano 3.0 (ATmega328): Код:
Цитата:
Последний раз редактировалось Alter; 16.04.2018 в 19:38. |
|||
16.04.2018, 20:09 | #6 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Благодарю.
Торжественно обещаю больше не сравнивать знаковые и беззнаковые величины. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение знаковых чисел | Herly | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 12.06.2013 00:31 |
Сравнение значений | vajtek | Общие вопросы Delphi | 2 | 23.08.2011 19:53 |
Сравнение значений в 2х столбцах и удаление лишних значений.. | Tyr | Microsoft Office Excel | 2 | 16.12.2010 18:19 |
вычисление для знаковых и беззнаковых целых чисел!!!! | senna_ololo | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 07.06.2010 23:38 |
Вычисление для знаковых и без знаковых целых чисел в asm. | kup9 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 06.06.2010 18:21 |