В секунду через этот канал связи может быть передано до 86 кБайт = 86*1024*8 бит = 704512 бит
В эту же секунду в записи передаётся 44100 двоичных значений для каждого из двух каналов (т.к. стерео). То есть, всего 2*44100 = 88200 значений
Поделим число бит, передаваемое на максимальной скорости на число двоичный значений, и мы получим сколько бит можно выделить максимально на каждое двоичное значение:
704512 / 88200 ≈ 7,988 бит
То есть, для передачи 8 бит на значение совсем чуть чуть не хватает скорости.
Получается, разрядность дискретизации могла быть максимум 7 бит.
Примечание: для передачи 8 бит на значение нужна скорость 8*88200/8/1024 = 86,1328125 кБ/с
class Program
{
static void Main(string[] args)
{
string src = " Qwy. ... Asdf.. Lkjdfs A.";
//string dest = ReplaceDots(src, '.', '…', 3);
string dest = ReplaceDots(src, '.', "...", 3);
Console.WriteLine("src:\t" + src);
Console.WriteLine("dest:\t" + dest);
Console.WriteLine();
Console.Write("Press any key for exit ...");
Console.ReadKey(true);
}
//private static string ReplaceDots(string src, char dotCh, char dots, int minDotsCount)
private static string ReplaceDots(string src, char dotCh, string dots, int minDotsCount)
{
StringBuilder dest = new StringBuilder();
int i = 0;
while (i < src.Length)
{
int dotsCount = 0;
while (i < src.Length && src[i] == dotCh)
{
dotsCount++;
i++;
}
if (dotsCount >= minDotsCount)
dest.Append(dots);
else if (dotsCount == 0)
dest.Append(src[i++]);
else
while (dotsCount-- > 0)
dest.Append(dotCh);
}
return dest.ToString(); ;
}
}