Muy buen dia compañeros.
Ayer publique el tema Números de longitud variable en C (Numeros muy grandes)
Donde transformo strings de numeros a su representación en "binario" en memoria. Ya hago sumas y multiplicaciones en forma de sumas multiples.
Necesito hacer ahora restas tengo mis dudas se que es una tonteria pero estoy hecho un lio.
Las sumas a nivel de "byte" las hago asi:
Asi puedo meter ese seudo codigo en un ciclo de N bytes y poder trabajar con numetro positivos de cualquier longitud
Ahora el detalle que necesito usar la operacion modulo y para ello necesito hacer diviciones y por lo tante necesito restas.
Mi duda es hacer las restas mas o menos igual
Obvio tendré que tener forma de capturar los números negativos, y si es negativo ¿Que hay que hacer? ¿es como si fuera el acarreo en la suma?
intente hacer las restas en el cuaderno en binario y me dormi en el intento eso fue hace unas 5 horas.
Ayer publique el tema Números de longitud variable en C (Numeros muy grandes)
Donde transformo strings de numeros a su representación en "binario" en memoria. Ya hago sumas y multiplicaciones en forma de sumas multiples.
Necesito hacer ahora restas tengo mis dudas se que es una tonteria pero estoy hecho un lio.
Las sumas a nivel de "byte" las hago asi:
Código (c) [Seleccionar]
unsigned char resultado[3];
unsigned char acarreo;
unsigned char a;
unsigned char b;
unsigned short c;
a = 0xFF;
b = 0x01;
c = a + b;
//ahora c vale 0x0101
resultado[0] = c;
acarreo = c >> 8;
//el acarreo se le suma al siguiente ciclo de bytes
Asi puedo meter ese seudo codigo en un ciclo de N bytes y poder trabajar con numetro positivos de cualquier longitud
Ahora el detalle que necesito usar la operacion modulo y para ello necesito hacer diviciones y por lo tante necesito restas.
Mi duda es hacer las restas mas o menos igual
Código (c) [Seleccionar]
#include<stdio.h>
int main() {
unsigned char a;
unsigned char b;
unsigned short c;
a = 0xFF;
b = 0x01;
c = a - b;
}
Obvio tendré que tener forma de capturar los números negativos, y si es negativo ¿Que hay que hacer? ¿es como si fuera el acarreo en la suma?
intente hacer las restas en el cuaderno en binario y me dormi en el intento eso fue hace unas 5 horas.