В зависимости от того, как работает конкретная операционная система, вы обычно ожидаете, что память будет выделена неоптимизированной, так что когда вы вызываете байт или слово или какой-то другой небольшой тип данных, значение занимает весь регистр, все это очень собственный. Однако то, как ваш компилятор или интерпретатор работает, чтобы интерпретировать это, является чем-то другим, поэтому, если вы, например, должны были скомпилировать программу на C #, значение может физически занимать регистр для себя, однако это значение будет проверяться границей, чтобы гарантировать, что вы этого не сделаете попытайтесь сохранить значение, которое превысит границы предполагаемого типа данных.
С точки зрения производительности, и если вы действительно педантичны в таких вещах, вероятно, быстрее просто использовать тип данных, который наиболее точно соответствует целевому размеру регистра, но тогда вы упускаете весь этот прекрасный синтаксический сахар, который делает работу с переменными настолько простой ,
Как это поможет вам? Что ж, вам решать, для какой ситуации вы кодируете. Почти для каждой программы, которую я когда-либо писал, достаточно просто довериться компилятору, чтобы оптимизировать вещи и использовать наиболее удобный для вас тип данных. Если вам нужна высокая точность, используйте большие типы данных с плавающей точкой. Если вы работаете только с положительными значениями, вы, вероятно, можете использовать целое число без знака, но по большей части достаточно просто использовать тип данных int.
Однако если у вас есть очень строгие требования к данным, такие как написание протокола связи или какой-то алгоритм шифрования, то использование типов данных с проверкой диапазона может оказаться очень полезным, особенно если вы пытаетесь избежать проблем, связанных с переполнением / переполнением данных или неверные значения данных.
Единственная другая причина, по которой я могу подумать о том, чтобы использовать определенные типы данных, - это когда вы пытаетесь сообщить намерение в своем коде. Например, если вы используете сокращение, вы говорите другим разработчикам, что разрешаете использовать положительные и отрицательные числа в очень небольшом диапазоне значений.