Использование типов данных в соответствии с архитектурой ОС

0

Я пересматриваю все свои концепции в C/C++. Я начал с datatypes, и вдруг мне попался один вопрос, когда использовать какие типы данных из следующего?

У нас есть uint_64 uint_32 и uint_16. Теперь для моего ясного понимания, пожалуйста, скажите мне, что число (т.е. 64, 32, 16) означает количество бит для определенного типа данных и как они влияют на архитектуру ОС?

Теги:
types

2 ответа

2
Лучший ответ

Ваше понимание верное. 64, 32, 16 обозначают количество бит, используемых для хранения uint. Архитектура ОС не ограничивает вас использованием определенного типа, но может влиять на производительность программы.

ОС может влиять на максимальный объем памяти, который может использовать ваш процесс, поскольку он дает вам длину виртуального адреса.

Кроме того, если вы используете 32-битную ОС, тогда она будет использовать только 32-разрядные регистры в вашем CPU, поэтому производительность использования uint_64 будет ниже. Использование 64-битной ОС позволит использовать 64-битные регистры в CPU, а использование uint_64 будет соответствовать только одному регистру.

  • 0
    Благодарю. еще одно сомнение. Если у нас длинный тип данных, почему я должен использовать uint_64 для тех же самых бит?
  • 0
    Ну, для получения 64 бит нужно использовать «long long». Однако «длинный длинный» является типом со знаком (также может содержать отрицательные значения). uint_64 является неподписанным и будет хранить только положительные значения. Проверьте здесь: cplusplus.com/doc/tutorial/variables
0

Обычно, когда разработчики кодируют количество бит в имени типа, они подчеркивают, что тип должен иметь одинаковый размер, независимо от того, какая архитектура используется.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню