|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
Я думаю что максимальный размер строки как был так и остался равен 2 гигабайтам. Но автор ищет логический смысл. Тоесть смысл в символах класса кодовая точка. А этот класс мы не можем точно посчитать. Только оценить. Типа верхняя граница. Если 100% символов строки будут из кодовых точек. И наоборот. Или некая средняя оценка где мы просто берем пропорцию. Если я правильно его понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 16:23 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
исходный вопрос автора "строка в .NET" Подозреваю, что ".NET", как и 99 % остальных языков программирования, никак корректность строк не проверяют. Некоректная Unicode строка это тоже вполне себе "строка в .NET" Т.ч. все подробности про Unicode - в топку. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 16:45 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
Dima TПолучается если все символы 2 байта, то 63488 1 073 741 823 комбинаций Если один 4-байтный, то 63488 1 073 741 821 * 1 112 064 1 два 4-байтных - 63488 1 073 741 819 * 1 112 064 2 и т.д. до 63488 1 * 1 112 064 536 870 911 Т.е. каждое последующее произведение получается делением на 63488 2 и умножением на 1 073 741 823. Или по другому это геометрическая прогрессия. Дальше посчитать по формуле суммы N элементов геометрической прогрессии. Напутал немного, точнее не учел что 4-хбайтовые разряды могут быть в любом месте, т.е. каждое из слагаемых это только сколько значений могут принять все разряды, надо каждый умножить на количество комбинаций как могут быть расположены 2х и 4хбайтовые символы. Например для двух 4-байтных - 63488 1 073 741 819 * 1 112 064 2 * (1 073 741 819 + 2)! / (1 073 741 819! * 2!) Геометрическая прогрессия отменяется, но т.к. тут факториалы добавились, то есть такое подозрение что самый большой элемент будет в середине последовательности, когда 2х и 4байтныйх поровну, и будет центр на много порядков выше краев, т.е. достаточно посчитать 10-100 средних элементов чтобы получить итого с высокой точностью. PS Боюсь для записи итого в виде 10^X потребуется очень много циферок для записи X. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 17:27 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
maytonЯ думаю что максимальный размер строки как был так и остался равен 2 гигабайтам. Но автор ищет логический смысл. Тоесть смысл в символах класса кодовая точка. А этот класс мы не можем точно посчитать. Только оценить. Типа верхняя граница. Если 100% символов строки будут из кодовых точек. И наоборот. Или некая средняя оценка где мы просто берем пропорцию. Если я правильно его понял. Я так понял что надо вычислить сколько может быть уникальных строк в кодировке UTF-16 размером до 1 073 741 823 * 2 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 17:30 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
Dima TmaytonЯ думаю что максимальный размер строки как был так и остался равен 2 гигабайтам. Но автор ищет логический смысл. Тоесть смысл в символах класса кодовая точка. А этот класс мы не можем точно посчитать. Только оценить. Типа верхняя граница. Если 100% символов строки будут из кодовых точек. И наоборот. Или некая средняя оценка где мы просто берем пропорцию. Если я правильно его понял. Я так понял что надо вычислить сколько может быть уникальных строк в кодировке UTF-16 размером до 1 073 741 823 * 2 байт. В общем и целом, но важней как считать, методика. Для 10 байт = 5 char 1 031 490 117 213 424 000 759 808 + 268 333 472 997 988 892 672 * 2 + 69 805 794 224 242 688 * 2 + А вообщем? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 17:46 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
Укладка рюкзака. Чьорт. Это задача уже поздаколебала. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 17:52 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
ЕвгенийВ...А вообщем? Где-то в 4-5 классе школы была такая задача на мат. кружке но давно это было, т.ч. ответ я уже не помню, искать в википедии тоже лениво ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 18:27 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
https://ru.wikipedia.org/wiki/Комбинаторика если я правильно понимаю, это будет https://ru.wikipedia.org/wiki/Размещение ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 18:29 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
1 + n + n**2 + n**3 +... n**m дофига ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 18:33 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
maytonУкладка рюкзака. Чьорт. Это задача уже поздаколебала. Не, тут рюкзак бесконечен, т.е. тут задача определить подходящий размер рюкзака. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 19:21 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev1 + n + n**2 + n**3 +... n**m дофига Я так и сказал в начале 21948910 , но оказалось намного порядков больше 21950371 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 19:23 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev1 + n + n**2 + n**3 +... n**m дофига Не забудь прибавить String.Empty! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 20:21 |
|
Сколько строк в .NET
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevПодозреваю, что ".NET", как и 99 % остальных языков программирования, никак корректность строк не проверяют. В .NET у строк есть метод Normalize, которые в том числе проверяет корректность строки. Если 99% любых остальных языков будут проверять корректность всех строк всегда, производительность ПО встанет раком. И что там за таинственный 1%, можно поинтересоваться? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2019, 21:31 |
|
|
start [/forum/topic.php?fid=16&msg=39849992&tid=1339915]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
139ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 46ms |
total: | 280ms |
0 / 0 |