Аргументируйте.
(если температура измеряется в Кельвинах, аргументация не нужна)
Мальчик, ты дурак? А если она всё-таки перемерзнет? Ты как порядочный страус засунешь голову в снег, чтоб тока отрицательных темпратур не видеть?
Юноша Дед, я дурак не более чем как и все мы тут) Это жизнь, у всех когда нибудь перемерзнет труба)
Теперь по факту. Труба полиэтиленовая. Если вдруг перемерзнет, особо страшного не случится. Посижу без воды. Но вот уже 5 лет, пока не перемерзала.
По поводу отрицательных температур. Мне они не нужны. У меня при 3 градусах включается подогрев, при 4,5 выкл… За эту зиму пару раз включался… Ноль градусов - это край. Так зачем мне минус?
Температура воды в Баренцевом море +4. Оно и при -20 воздуха не замерзает.
Представьте ситуацию - отключилось электричество, подогрев не включился. Когда свет дали, труба замерзла. Но ваш девайс не имеет представления, что температура может быть отрицательной. Что будет дальше?
Труба замёрзла, дали свет. Включится обогрев сразу. И не важно что возле трубы минус, а в моей программе минусовых температур не предусмотрено. Просто я все что ниже ноля с датчика теммературного в программе храню 0. Все. Дальше прежняя логика работы.
У меня несколько датчиков. С них берётся самая низкая температура и записывается в беззнаковую переменную. И если самая низкая - ниже ноля, то все равно ноль запишется. И уже исходя из этой переменной, логика вкл обогрева.
И какое будет значение этой переменной, если в нее попытаться записать отрицательное значение? Думаете, автоматически обнулится? Хе-хе, боюсь, могут возникнуть неожиданности ))
Если в знаковую писать с минусом, будет переполнение. Никаких неожиданностей
А прежде чем записывать в переменную можно же проверить что мы туда пишем
Следущее хе хе)
ты реально дебил. Это, кшажалению, диагноз.
Представь, отключили свет, в трубе стало -5 в некоторый момент времени. Потом свет включили, даччик сказал тебе, что температура 0xFA , это = 250 на наши деньги. Включится обогрев при такой тенпературе?
В МК нет знаковых - беззнаковых Там только регистры двоичные. Заковые - беззнаковые это внешняя интерпретация содержимого этих регистров. Переполнения быть не может, хотя бы по тому что размер в битах одинаковый. А вот интерпретация того что окажется в регистре после такой операции может очень удивить неофита.
Коротко, но не ясно. Ну и ладно. Тут же принято всех дибилами называть.
тока дибилофф!
И что не ясно? Дед же привёл пример. -5 в беззнаковой переменной соответствует 250.
Int x;
Uint16_t y;
X = gettemp() ;
X < 0 ? Y =0 : Y = x;
Что тут может удивить?
И действительно… ![]()
Разве это не переполнение? Я знал об этом. Но я не программист, может выразился не так. А тут накинулись грамотные))
А что? Если ты пишешь ересь как узнать это в голове у тебя ересь или ты не правильно выразился?
Именно в этом и проблема.
Что в природе отрицательные температуры есть, а в Вашей программе они не предусмотрены.