Задать вопрос
LoliDeveloper
@LoliDeveloper
Линейная алгебра как смысл жизни

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

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

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

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

Похожие вопросы
22 дек. 2024, в 13:01
50000 руб./за проект
22 дек. 2024, в 10:44
15000 руб./за проект
22 дек. 2024, в 10:12
10000 руб./за проект