LoliDeveloper
@LoliDeveloper
Маслёнок, сильно не бейте

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

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

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

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

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