Finger binary — это система подсчета и отображения двоичных чисел на пальцах одной или обеих рук . Каждый палец представляет одну двоичную цифру или бит . Это позволяет считать от нуля до 31, используя пальцы одной руки, или до 1023, используя обе: то есть до 2 5 −1 или 2 10 −1 соответственно.
Современные компьютеры обычно хранят значения в виде некоторого целого числа 8- битных байтов , что делает пальцы обеих рук вместе эквивалентными 1 1⁄4 байта хранения — в отличие от менее чем половины байта при использовании десяти пальцев для счета до 10. [1]
В двоичной системе счисления каждая цифра имеет два возможных состояния (0 или 1), а каждая последующая цифра представляет собой возрастающую степень двойки .
Примечание: то, что следует далее, является лишь одной из нескольких возможных схем присвоения пальцам значений 1, 2, 4, 8, 16 и т. д., не обязательно лучшей. (см. иллюстрации ниже.): Самая правая цифра представляет два в нулевой степени (т. е. это «цифра единиц»); цифра слева от нее представляет два в первой степени («цифра двоек»); следующая цифра слева представляет два во второй степени («цифра четверок»); и т. д. ( Десятичная система счисления по сути та же самая, только используются степени десяти: «цифра единиц», «цифра десятков», «цифра сотен» и т. д.)
Можно использовать анатомические цифры для представления числовых цифр , используя поднятый палец для представления двоичной цифры в состоянии «1» и опущенный палец для представления ее в состоянии «0». Каждый последующий палец представляет собой более высокую степень двойки.
При ориентации ладоней к лицевой стороне стойки значения, когда используется только правая рука, следующие:
Когда используется только левая рука:
При использовании обеих рук:
И, поочередно, ладонями от стойки:
Значения каждого поднятого пальца складываются, чтобы получить общее число. В одноручной версии все поднятые пальцы, таким образом, составляют 31 (16 + 8 + 4 + 2 + 1), а все опущенные пальцы (кулак) составляют 0. В двуручной системе все поднятые пальцы составляют 1023 (512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1), а два кулака (ни одного поднятого пальца) представляют 0.
Также возможно, чтобы каждая стрелка представляла независимое число от 0 до 31; это может быть использовано для представления различных типов парных чисел, таких как месяц и день , координаты XY или спортивные результаты (например, для настольного тенниса или бейсбола ). Отображение времени в виде часов и минут возможно с использованием 10 пальцев, при этом часы отображаются с использованием 4 пальцев (0-23), а минуты — с использованием 6 пальцев (0-59).
При использовании в дополнение к правому.
Так же, как дробные и отрицательные числа могут быть представлены в двоичной системе счисления, их можно представить и в двоичной системе счисления.
Представление отрицательных чисел чрезвычайно просто, используя самый левый палец в качестве знакового бита : поднятый вверх палец означает, что число отрицательное, в системе знак-величина . Любое число между −511 и +511 может быть представлено таким образом, используя две руки. Обратите внимание, что в этой системе могут быть представлены как положительный, так и отрицательный ноль.
Если бы было достигнуто соглашение о том, что ладонь вверх/ладонь вниз или пальцы, направленные вверх/вниз, представляют положительное/отрицательное, то можно было бы сохранить 2 · 10−1 как для положительных, так и для отрицательных чисел (от −1023 до +1023, при этом положительный и отрицательный ноль по-прежнему будут представлены).
Дроби можно хранить в двоичном формате, представляя каждый палец дробной степенью двойки: . (Они известны как двоичные дроби .)
Используя только левую руку:
Двумя руками:
Итоговая сумма вычисляется путем сложения всех значений таким же образом, как и в обычной (недробной) двоичной системе счисления с помощью пальцев, а затем деления на наибольшую используемую дробную степень (32 для одноручной дробной двоичной системы счисления, 1024 для двуручной) и упрощения дроби по мере необходимости.
Например, с поднятыми большим и указательным пальцами левой руки и без поднятых пальцев правой руки это будет (512 + 256)/1024 = 768/1024 = 3/4. Если использовать только одну руку (левую или правую), это будет (16 + 8)/32 = 24/32 = 3/4.
Сам процесс упрощения можно значительно упростить, выполнив операцию сдвига бита : все цифры справа от самого правого поднятого пальца (т. е. все конечные нули) отбрасываются, а самый правый поднятый палец рассматривается как цифра единиц. Цифры складываются вместе, используя их теперь сдвинутые значения, чтобы определить числитель , а исходное значение самого правого пальца используется для определения знаменателя .
Например, если большой и указательный пальцы левой руки являются единственными поднятыми пальцами, самый правый поднятый палец (указательный палец) становится «1». Большой палец, который находится непосредственно слева от него, теперь является цифрой 2s; в сумме они равны 3. Исходное значение указательного пальца (1/4) определяет знаменатель: результат равен 3/4.
Объединенные целые и дробные значения (т. е. рациональные числа ) можно представить, установив точку основания где-то между двумя пальцами (например, между левым и правым мизинцами). Все цифры слева от точки основания являются целыми числами; справа — дробными.
Двоичные дроби , описанные выше, имеют ограниченное применение в обществе, основанном на десятичных числах. Простая недвоичная дробь, такая как 1/3, может быть аппроксимирована как 341/1024 (0,3330078125), но преобразование между двоичной и десятичной (0,333) или вульгарной (1/3) формами является сложным.
Вместо этого, как десятичные, так и обыкновенные дроби могут быть изначально представлены в finger binary. Десятичные дроби могут быть представлены с помощью обычных методов целочисленной двоичной системы и деления результата на 10, 100, 1000 или какую-либо другую степень десяти. Числа от 0 до 102,3, 10,23, 1,023 и т. д. могут быть представлены таким образом с шагом 0,1, 0,01, 0,001 и т. д.
Обыкновенные дроби можно представить, используя одну руку для представления числителя , а другую — для представления знаменателя ; таким образом можно представить спектр рациональных чисел в диапазоне от 1/31 до 31/1 (а также 0).
Теоретически возможно использовать другие положения пальцев для представления более двух состояний (0 и 1); например, троичная система счисления ( основание 3) может быть использована, если полностью поднятый палец будет представлять 2, полностью опущенный — 0, а «согнутый» (полуопущенный) — 1. Это позволит считать до 242 (3 5 −1) на одной руке или до 59 048 (3 10 −1) на двух руках. Однако на практике многим людям будет трудно держать все пальцы независимо (особенно средний и безымянный) в более чем двух различных положениях.