Он основан на том факте, что числа закодированы в двоичном виде.
Если число A является целым числом, A переписывается как A = & sum; i = 0 n-1 a я & времена; 2 г = а п-1 & времена; 2 N-1 + а п-2 & времена; 2 п-2 + ... а 1 & раз; 2 + а 0 * * тысяча двадцать семь
, где i = 0 или 1.
Легко видеть, что A четно, a 0 = 0, а если оно нечетно, a 0 = 1. Итак, у нас уже есть младший значащий бит a 0 .
Теперь, если мы разделим А на два, 0 исчезнет, и мы получим
А / 2 = а п-1 * +1044 * & времена; 2 п-2 + а п-2 & времена; 2 п-3 + ... + а 2 & раз; 2 + а 1
Мы можем определить таким образом 1 в зависимости от четности A / 2. и мы продолжаем, мы получаем все биты А.
Дробные числа выражены согласно отрицательным степеням 2. Если A = 0.a -1 a -2 ... a -n , А = а -1 * 1 068 * / 2 + а * +1069 * -2 / 4 + ... + а * * -n тысяча семьдесят-одна / 2 ^ * п * одна тысяча семьдесят-три
Если мы умножим это на два, 2 раза; A = a -1 + a -2 / 2 + ... + a -n / 2 ^ п-1 . Если 2 & times; A & geq; 1, мы должны иметь a-1 = 1, в противном случае a-1 = 0. И мы можем определить другие биты аналогичным способом по последовательному умножению на два.