LoliDeveloper
@LoliDeveloper
Линейная алгебра как смысл жизни

Как компьютер понимает что число именно unsigned?

Хочу разобраться что происходит, когда я ввожу unsigned, ячейка памяти ведь остаётся такого же размера. Как он понимает что её надо считывать именно как unsigned? У него есть список unsigned-переменных, которые надо читать без учёта знака или как?
  • Вопрос задан
  • 126 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
"Понимает" компилятор C++. При компиляции он переводит программу в машинный код в том числе и с учётом объявленных типов переменных.
При выполнении программы никакого "понимания" уже не требуется, все действия заданы в коде.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Глядя на ячейку памяти невозможно сказать какое число в ней, т.к формы представления singed/unsinged это просто способ интерпретации бит. В фазе компиляции вы как автор должны указать компилятору тип данных чтобы корректно отработать умножение к примеру.

Если вы хотите отдать значения во внешний мир, то передавайте их в виде текста, json, или специальных протоколов типа protobuf, apache thrift.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы