Почему для индексации в шарпе и яве используется тип int? Он же 32 битный, к тому же знаковый.
Поздос.У нас за такие вопросы фабрику бобов вместо премии выдают.
присоеденяюсь, мимо нуб, обьясните
>>1033053 (OP)А ты собрался массив на 100 ГБ создавать?
>>1033053 (OP)говноязыки для говнокодеров.
>>1034006норм языки в студию
>>1033053 (OP)Потому, что оперативка нынче дешевая. а байтоебство нинужно, кроме как в каких нибудь микроконтроллерах. /thread
>>1034093Очевидно, что в этом и заключается вопрос. Оперативки по нонешним временам может быть гораздо больше 2 гигов.
Он 64 битный, лалка
>>1034169Дебил штоле? 64-битный в джаве long.
>>1034169 В шарпе 64 битный - long.
>>1034163>Оперативки по нонешним временам может быть гораздо больше 2 гигов.Ну во-первых 32 бита позволяют разметить 4 гига, а во-вторых, ты чо, собрался память в шарпе/жаве размечать?
>>1033053 (OP)А в чем проблема?
>>1034195Ну ок, не int, а IntPtr
>>1033053 (OP)Если не углубляться, то by design.Хочешь юзать больше памяти - создавай следующий массив.
>>1033053 (OP)Потому что не во всех языках, которые транслируются в jvm/net есть беззнаковые типы.
>>1034324Лонг во всех есть.На самом деле это просто копролегаси из девяностых, тогда думали что 2 гига это ухххх сколько.
Дабы не создавать новую тему, спрошу: мне нужно массив битов, какой тип использовать? Для без и знаковых используются разные сдвиги: логический и арифметический, т.е. в моем случае следует использовать беззнаковые числа. Но тип.. байт? В регистре еще место остается. Тогда может long? На 32-битных машинах он занимает 2 регистра. Не катит, нужно брать именно под размер регистра. Плюсовый std::size_t? Есть X32 ABI, в котором long нативный, а size_t - 32 бита. В плюсах и уж тем более в шарпе я не знаю, какой тип выбрать, но в сишке мне поможет intmax_t. Программач, неужели плюсы и шарп соснули у сишки?
>>1034454java.util.BitSet
>>1034477Смотрим в сорцы джавы, там используется массив long, который на 32-битных машинах занимает 2 регистра. Не катит. Какой же тип выбрать...?https://android.googlesource.com/platform/libcore/+/fc28f29/luni/src/main/java/java/util/BitSet.java#49
>>1034496>на 32-битных машинахНу ты бы ещё 8-битные выкопал.
>>103451832-битные такая редкость? ARM на мобильниках, куча старых пк, все микроконтроллеры. Мы отбились от темы.Я только предполагаю, что сишный uintmax_t поможет, хотелось бы узнать мнение других анонов.
>>1034169дебс, в сярпе int 32 битный, а для 64 int64
Знаковость для отлова переполнений? Не ди же, правильных проверок не завезли
>>1034667Начиная еще с 16-разрядных процессоров завезли регистр флагов, в котором есть флаг переноса для длинной арифметики, а также флаг переполнения.
>>1034535> ARM на мобильникахТы хочешь сказать что какой-то лишний регистр будет узким местом на мобилке с жирнейшим андроидом и джява-машиной? Ебнуть бы тебе томиком Кнута по голове.> куча старых пкНа помойку.> все микроконтроллерыНу тут байтоговну альтернативы нет, ок.
>>1034752> Ты хочешь сказать что какой-то лишний регистр будет узким местом на мобилке с жирнейшим андроидом и джява-машиной? Ебнуть бы тебе томиком Кнута по голове.Необходимо наложить маску и сделать проверку условия - вот что дорого.
>>1034752..и эту процедуру необходимо производить после каждой операции, десктопные процессоры может и не так плохи в проверке условий, но точно уж не мобильники.