Учитывая произвольное число с плавающей точкой, скажем -0.13
, предположим, что у нас есть алгоритм, который вычисляет двоичную строку известной длины L
для этого числа, один за другим, слева направо.
(Мне нужно сделать это вычисление для расчета порядка Мортоновых ключей для частиц (даны соориндаты), которые, в свою очередь, используются при построении октодеревьев. Я создаю
такие двоичные строки для каждого из x, y, z измерений)
Лучше / эффективнее сначала создать массив символов длиной L
, а затем преобразовать этот массив в строку? т.е. * +1008 *
char ch[L];
for(i = 0; i < L; ++i)
{
// calculation of ch[i]
}
//convert array into string
Или лучше / эффективнее начинать с пустой строки, а затем объединять новый вычисленный бит в строку на лету. т.е.
string s = "";
for(i = 0; i < L; ++i)
{
// calculation of ch[i]
s = s + string(ch);
}