2016-04-17 3 views
0

Я - студент-информатик-новичок, поэтому простите мое отсутствие понимания поля.Есть ли простой способ реализовать бинарный арифметический комплимент w/o 2?

Мы впервые научились делать вручную простой двоичной арифметикой

1), как делать сложение с двоичной

2), как это сделать вычитание с двоичным

Тем не менее, даже неопытный программистом я знал, что методы, которые мы узнали, очень трудно перевести на алгоритмический компьютерный код example (но, возможно, это только я)

Мы тогда узнали комплимент 2, который сделал жизнь немного легче ier (например, отрицательные числа были теперь легко осуществить и вычитание просто стали добавлять отрицательные числа)

Но то, что я хочу знать, если есть способ, ж/O 2 в комплимента сделать все (умножение/деление/сложение/вычитание). Или это было самой целью комплимента 2, и я просто полностью покинул поле развлекал идею, которая совершенно бесполезна и что никто не заботится о в cs?

+0

Интересно, как вы конвертируете положительное число в комплимент 2, когда он не вписывается в биты. Например. для 16-битной машины, как вы вычисляете 65535-65534? – user3528438

+0

@ user3528438 16-разрядная машина может легко работать с 192-битными номерами, если это необходимо - сумматор * также * построен из последовательности повторяющихся частей, вы можете сделать то же самое в программном обеспечении. В принципе, вы «соединяете» эти два вместе при правильном переноске и заимствовании, и вы можете увеличить эффективную ширину сумматора столько, сколько хотите. 8-битные машины обрабатывают 16-разрядные номера все время - это не похоже на 8-битные номера, которые очень полезны. – Luaan

ответ

0

2 дополнения дополняют друг друга. Что именно вы хотели бы улучшить? Он может иметь дело с произвольно большими числами и использует только цепочку очень простых процессоров для выполнения своей работы.

Главным исключением является число с плавающей запятой, которое не использует дополнение 2. Я уверен, что скоро вы узнаете о IEEE-754, это очень весело :)

Наконец, noöne заставляет вас использовать дополнение 2. Вы можете делать все, что хотите, это просто, что все отлично и дешево. Вы можете сделать свое программное обеспечение, чтобы вычислить все по римским цифрам, если вы этого желаете. Однако это не будет очень быстро.