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