0
Karambol
24.11.08
✎
07:36
|
Подскажите, как перевести отрицательно число из десятичной в двоичную систему исчисления? Написал функцию для полож чисел. Какой алгоритм для отрицательных?
Функция DecToBin(Знач Десятичное)
Перем Двоичное;
Перем ДвоичноеТемп;
Двоичное = "";
ДвоичноеТемп = "";
Пока Десятичное >= 2 Цикл
Остаток = Десятичное % 2;
ДвоичноеТемп = ДвоичноеТемп + Строка(Остаток);
Десятичное = Цел(Десятичное / 2);
КонецЦикла;
ДвоичноеТемп = ДвоичноеТемп + Строка(Цел(Десятичное));
// Инвертируем строку
Пока СтрДлина(ДвоичноеТемп) > 0 Цикл
Символ = Прав(ДвоичноеТемп, 1);
Двоичное = Двоичное + Символ;
ДвоичноеТемп = Лев(ДвоичноеТемп, СтрДлина(ДвоичноеТемп) - 1);
КонецЦикла;
Возврат Двоичное;
КонецФункции // DecToBin()
|
|