1) 513 =512+1 =2^9+2^0 =1000000001 (2) число разбиваем на суммы слагаемых степеней числа 2 (например, число 99=64+35=64+32+3=64+32+2+1=2^6+2^5+2^1+2^0=1100011(2) ) 2) делим на 2, пока не получим число меньше 2 то есть 1 (дробная часть отбрасывается)
513 256 128 64 32 16 8 4 2 1 если четно внизу пишем 0 иначе 1 1 0 0 0 0 0 0 0 0 1 собираем цифры с конца на начало
{ Пример программы для процедуры FloodFill } Uses Graph,Crt; Var Gd, Gm : Integer; Begin Gd:=Detect; InitGraph(Gd, Gm, ''); If GraphResult <> grOk Then Halt(1); SetColor(GetMaxColor); Circle(50, 50, 20); FloodFill(50, 50, GetMaxColor); Readkey; CloseGraph; End.
Procedure FloodFill(X, Y : Integer; Border : Word); Закрашивает замкнутую область, используя текущие стиль и цвет закраски.
Procedure SetFillStyle(Pattern : Word; Color : Word); Устанавливает цвет и стиль закраски.
число разбиваем на суммы слагаемых степеней числа 2 (например, число 99=64+35=64+32+3=64+32+2+1=2^6+2^5+2^1+2^0=1100011(2) )
2) делим на 2, пока не получим число меньше 2 то есть 1 (дробная часть отбрасывается)
513 256 128 64 32 16 8 4 2 1 если четно внизу пишем 0 иначе 1
1 0 0 0 0 0 0 0 0 1 собираем цифры с конца на начало
513=1000000001 (2)
3) 513 | 2
512|
1 256 | 2
256 |
0 128 | 2
128 |
0 64 | 2
64 |
0 32 | 2
32 |
0 16 | 2
16 |
0 8 | 2
8 |
0 4 | 2
4 |
0 2 | 2
2 |
0 1
Собираем остатки при вычитании 0 и 1 с конца до начала
Еще вариант на калькуляторе (для проверки)