¿Cuál es la forma más eficiente de agregar 2 enteros?

Puedo hacer esta tarea rápidamente en binario biyectivo. digamos que sumas 19 = 1211 y 9 = 121 en binario biyetivo, luego pones el número más grande sobre el número más pequeño de esta manera.

1211 +

0121

así que nuestros primeros dígitos para agregar son 1 y 1, esto significa el dígito final de nuestro resultado. a continuación, nuestros 2 dígitos son 1 y 2 mod 2 nos deja con 1 1, por lo que llevamos 1 restando 1 de nuestro resto e incluso si los siguientes 2 dígitos son 1 y 1 todavía llevamos 1, por lo que la operación de transporte una vez activada se puede hacer en paralelo hasta que nos topemos con un 1 y un 0 si nos encontramos con algo así. entonces todo lo que tenemos que hacer para obtener nuestro número de salida es modificar cada columna en paralelo una vez que se hayan deducido los restantes. Sin embargo, cuando te encuentras con 2 dígitos 2, entonces se vuelve complicado, pero según mi análisis, debería ser fácil resolverlo con un alto grado de paralelización. Este truco no sería posible en binario estándar debido a los 0 con los números. Mi investigación sobre el binario biyectivo me lleva a preguntarme si, con un poco más de complejidad de la operación en bits en paralelo, puede requerir mucha menos lógica de bits y, por lo tanto, una tubería menos profunda para realizar las mismas operaciones que una unidad de lógica FPU y Algorítmica de algún tipo de muy pequeña matriz celular. Al igual que con la operación normal en bits en paralelo, en realidad es más como lo está haciendo y el paralelo de 8 bits agregó un proceso en serie sobre una tubería más profunda que actúa como paralelo pero requiere muchos más transistores para realizar la mayor profundidad de bits que se puede calcular, especialmente cuando se habla de más funciones más profundas como multiplicar ect. Sin embargo, creo que con una tubería más poco profunda y una mayor complejidad del proceso, trabajar con binarios biyectivos, en cambio, se puede ahorrar espacio vital de silicona para lograr los mismos resultados, también tales células se pueden hacer con una tubería ligeramente más profunda y podrían hacer muchas más operaciones. que los núcleos principales de la CPU y posiblemente los núcleos de GPU puedan descargar las tareas en dichas celdas, lo que significa que los núcleos de GPU y CPU no necesitan ser tan grandes.

Es una teoría en este momento respaldada por una investigación interesante en Bijective Binary, pero mi investigación aún no es concluyente, pero tengo la impresión de que trabajar con 0 para algunas operaciones parece requerir una tubería más profunda que cuando se realiza la misma tarea de manera óptima con binary bijective .

La complejidad de la suma siempre será O (a + b), donde a y b representan las longitudes de 2 números arbitrarios. No hay forma más eficiente.