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

 Хочу разобраться что происходит, когда я ввожу unsigned, ячейка памяти ведь остаётся такого же размера. Как он понимает что её надо считывать именно как unsigned? У него есть список unsigned-переменных, которые надо читать без учёта знака или как? 

 "Понимает" компилятор C++. При компиляции он переводит программу в машинный код в том числе и с учётом объявленных типов переменных.  

При выполнении программы никакого "понимания" уже не требуется, все действия заданы в коде. 

 Глядя на ячейку памяти невозможно сказать какое число в ней, т.к формы представления singed/unsinged это просто способ интерпретации бит. В фазе компиляции вы как автор должны указать компилятору тип данных чтобы корректно отработать умножение к примеру.   

  

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