Какую литературу почитать о принципах работы пк, прежде чем изучать C, C++, java?
https://habrahabr.ru/post/259505/ — вот этой книги должно хватить с головой.
Хотя тему байтов, битов, кодировок и битовых операций любой вузовский учебник раскроет на достаточном уровне, чтобы изучать С, С++.
математика (в первую очередь логико-комбинаторная сторона, дискретная математика)