ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
1444980 Топик полностью
ЫЫyкпy (25.06.2024 15:08, просмотров: 72) ответил Anvar на Мне кажется вы не совсем поняли задачу, это не про числа, это про угловой энкодер. 1. Тогда как вычислять при переходе от 32767 к -32768? 2. Не понял. Все равно там будет "стык" соседних угловых положений отличающихся на один бит, а среднее будет в полшкалы энкодера. И да, некрасивое решение у меня есть.
"Я тебе один умный вещь скажу, ..."(с) Дело в том что АЛУ не знает с какими числами оно выполняет операции. Знаковые, беззнаковые - нет разницы, операции сложения/вычитания, инкремента/декремента выполняются абсолютно одинаково. Разница возникает только потом, когда проверяешь знак или выводишь на печать. 

Что происходит при переходе от 32767 к -32768? Берем число 32767 (=0x7fff), прибавляем 1, получается 0x8000. Если понимать это число как беззнаковое, то это 32768, если как знаковое - то эти же самые биты будут поняты как -32768.

Переход от одного числа к другому это прибавление или вычитание 1, эти числа рядом.

Как это выглядит на примере 4-разрядного АЛУ.

Внутри окружности числа без знака, снаружи соответствующие им знаковые.

Взирая на нынешнее состояние отечества моего с таковым оком, каковое может иметь человек, воспитанный по строгим древним правилам, ... не могу я не дивиться, в сколь краткое время повредились повсюдно нравы в России. (с) кн. М.М. Щербатов.