Залежно від того, як працює конкретна операційна система, ви, як правило, очікуєте, що пам'ять буде виділена неоптимізовано таким чином, що коли ви вимагаєте виділити байт або слово або якийсь інший малий тип даних, значення займає весь регістр, все це дуже власний. Як ваш компілятор чи інтерпретатор працює для тлумачення цього, проте, це щось інше, тому, якщо ви, наприклад, збирали програму в C #, значення може фізично займати реєстр для себе, однак значення буде перевірено межами, щоб гарантувати, що ви цього не зробите спробуйте зберегти значення, яке перевищить межі призначеного типу даних.
Коли ви дійсно педантичні щодо подібних речей, швидше за все просто скористатися типом даних, який найбільше відповідає цільовому розміру реєстру, але тоді ви пропустите весь цей прекрасний синтаксичний цукор, який робить роботу зі змінними настільки простою .
Як вам це допомагає? Що ж, насправді вирішувати, яку ситуацію ви кодуєте. Практично для кожної програми, яку я коли-небудь писав, достатньо просто довіритися своєму компілятору для оптимізації речей та використання найбільш корисного для вас типу даних. Якщо вам потрібна висока точність, використовуйте великі типи даних з плаваючою точкою. Якщо ви працюєте лише з позитивними значеннями, ви, ймовірно, можете використовувати цілочисло без підпису, але здебільшого достатньо просто використовувати тип даних int.
Якщо у вас є дуже суворі вимоги до даних, наприклад, написання протоколу зв’язку або якийсь алгоритм шифрування, то використання перевірених діапазонів даних може бути дуже зручним, особливо якщо ви намагаєтеся уникнути проблем, пов’язаних із перевитратами / недоїданням даних. або недійсні значення даних.
Єдина інша причина, з якої я можу подумати над головою, щоб використовувати конкретні типи даних, - це коли ви намагаєтеся повідомити про наміри у своєму коді. Якщо ви, наприклад, використовуєте короткий коментар, ви повідомляєте іншим розробникам, що ви дозволяєте отримувати додатні та негативні цифри в дуже маленькому діапазоні значень.