Comdiv писал(а):
В самой адресации знаковым целым нет никакой проблемы, просто верхние адреса будут отрицательными.
Вы перечитываете. то, что написали, перед тем, как отослать?
Comdiv писал(а):
Только делать этого не нужно, потому что адрес - это отдельный тип, который нежелательно вставлять ни в целые со знаком, ни в целые без знака.
1. Адрес - ЧЕГО (какого типа)?
2. Если вы работаете с "чисто адресами", озвучьте СМЫСЛ отрицательного (не "относительного") АДРЕСА.
3. Есть понятие "счёТное (упорядоченное) множество". Дальше - продолжать?
4. Во многих РЕАЛЬНЫХ системах регистры управления и состояния внешних устройств отображены на адресное пространство. Дальше - продолжать?
Comdiv писал(а):
Если нужно думать о 0 и 1 в двоичных разрядах, то речь опять не о целых, а об отдельном типе - о чём-то вроде битовых массивов.
И? Вы когда-нибудь видели даташиты на ядра микроконтроллеров и их периферию?
У таймеров обычно выставляются коэффициенты деления входной частоты. Можете мне озвучить смысл ОТРИЦАТЕЛЬНОГО значения коэффициента пересчёта?
Длина информационной части при передаче по последовательному порту может быть от 5 до 9 бит. Для её представления используется 3-4 бита в определённом регистре управления.
И, кстати, значения многих параметров, в таких полях регистров конфигурации/правления/состояния очень часто задаются ПЕРЕЧИСЛИМЫМ ТИПОМ (дальше - продолжать?
).
Или вы предлагаете "лишний" "знаковый битик" аппаратчикам реализовывать, только, что бы соответствовать стройной картинке мира? Так в реальном мире инженеры-электронщики за каждый нано- и пиковатт сейчас сражаются...
Comdiv писал(а):
Wlad писал(а):
Могу Вас заверить, что в мире эмбеддинга и системного, низкоуровневого, программирования, мне более удивительным представляется НАЛИЧИЕ ЗНАКОВЫХ ТИПОВ.
Во многом благодаря тому, что так заведено, а не потому что иначе никак. Это данность которую, конечно, нужно учитывать, но и не преувеличивать.
Да - нет, коллега. Это - не "дань моде и/или привычке". Это - диктуется "предметной областью". И "пощупать" и "сравнить" здесь можно не умозрительно, "обсуждая концепции", а - с помощью осциллографа и мультиметра.
Comdiv писал(а):
Либо за максимальную типизацию, либо за свалку применений в целых.
Так она там и присутствует.
Comdiv писал(а):
Борис Рюмшин писал(а):
что с ним делать при переходе к КП64 -- сдвигать или оставлять 32-битным. А если оставлять, то эффективность вычислений упадёт.
Почему упадёт? Вычислять не обязательно в той же разрядности, что хранить. Разница будет в переполнении, но согласно описанию языка на неё нельзя рассчитывать.
Если вычислять не в той же разрядности, что и хранить, то должно тратиться время для "проталкивания по частям" значений данных через интерфейс связи с ОЗУ. В любом случае.
Это - помимо отслеживания случая переполнений и их обработки по "не основным" ветвям алгоритма вычислений. Упоминание "нерассчёта согласно описанию языка" осталось загадкой.
Comdiv писал(а):
adimetrius писал(а):
Рискну предположить, что для криптографии или др задач вообще полезно с битовыми цепочками работать. А этого в универсальном ЯВУ вообще нет, и поделом.
Для криптографии, вообще, лучше использовать специальные языки с формальными доказательствами с последующей трансляцией(экстракцией, как это принято называть в этой области).
"... и - вообще!". Мы - не за "вообще", а - за универсальные средства формализации и закрепления проектных решений (сиречь - о языках программирования и представлении полей целых в них).
А криптовать лучше - вообще отдельными функциональными железячными блоками в процессорах.