Я пересматриваю все свои концепции в C/C++. Я начал с datatypes, и вдруг мне попался один вопрос, когда использовать какие типы данных из следующего?
У нас есть uint_64
uint_32
и uint_16
. Теперь для моего ясного понимания, пожалуйста, скажите мне, что число (т.е. 64, 32, 16) означает количество бит для определенного типа данных и как они влияют на архитектуру ОС?
Ваше понимание верное. 64, 32, 16 обозначают количество бит, используемых для хранения uint. Архитектура ОС не ограничивает вас использованием определенного типа, но может влиять на производительность программы.
ОС может влиять на максимальный объем памяти, который может использовать ваш процесс, поскольку он дает вам длину виртуального адреса.
Кроме того, если вы используете 32-битную ОС, тогда она будет использовать только 32-разрядные регистры в вашем CPU, поэтому производительность использования uint_64 будет ниже. Использование 64-битной ОС позволит использовать 64-битные регистры в CPU, а использование uint_64 будет соответствовать только одному регистру.
Обычно, когда разработчики кодируют количество бит в имени типа, они подчеркивают, что тип должен иметь одинаковый размер, независимо от того, какая архитектура используется.