ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1037538 Топик полностью
SciFi (18.09.2020 11:11, просмотров: 480) ответил teap0t на Я хочу задать число, которое будет однозначно интерпретироваться как 32-разрядная константа в любом контексте (и, скажем, в ПЗУ будет занимать 4 байта). Если я правильно понял высказанное в ветке, то объявление
Попробуем разобрать высказанные заблуждения. 

1) "интерпретироваться как 32-разрядная константа в любом контексте"

Откуда вообще взялась эта постановка вопроса? Это никому не нужно, да и смысл этой фразы настолько размыт, что его почти нет. Что действительно важно -- это чтобы константа в процессе вычислений не потеряла своё значение. Примеры: срезались старшие биты или из отрицательной превратилась в положительную (что для железных регистров не так важно, там важно, чтобы биты сидели на своих местах). Значение может исказиться, если вычисления составлены криво (отсюда справедливое замечание VLLV http://caxapa.ru/1037529/). Да, можно порассуждать о том, в каких типичных арифметических выражениях константа может потерять своё значение, и как это можно предотвратить, изменив её тип. Прямо так сходу примеры на ум не приходят.

2) " скажем, в ПЗУ будет занимать 4 байта"

Тут тип константы вообще ни при чём. Байты в ПЗУ занимает объект, то есть переменная. Вот какой у неё тип будет, столько байт и будет занимать. А константа лишь даёт значение этой переменной, и при инициализации переменной её тип приведётся к типу переменной.

ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้