Почему все типы данных четные числа? Например в C# byte: хранит целое число от 0 до 255 и занимает 1 байт. ushort: хранит целое число от 0 до 65535 и занимает 2 байта. uint: хранит целое число от 0 до 4294967295 и занимает 4 байта. --- Если нам понадобится число 65536, то ushort не хватит 1 бита. И мы будем использовать uint. "Эффективно" мы будем использовать только 1 байт. Его бит, которого нам так не хватало. Второй байт нам не нужен. Логично, чтобы был тип данных 3 байта. Но такого типа данных нет. Но есть 4, 8, 16. И для числа в "8 байт+1бит" мы вынуждены использовать 16 байт. Хотя могли бы 9. И мы так и делаем, и это считается нормой. Других вариантов нет. В тоже время, когда для "числа" 255 задают тип ushort, это считается неверным. Лишняя трата ресурсов/памяти. Да и не логично и путает программиста. Почему все типы данных четные числа?