Ver Mensaje Individual
  #10  
Antiguo 09-03-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por coso Ver Mensaje
Hola,
tambien podrias asignar directamente el bit de paridad con un or (no recuerdo cual es) aunque supongo que es lo que debe hacer abs o algo bastante parecido.
Saludos.
No exactamente. En las computadoras binarias modernas, para obtener el negativo de un entero hay calcular el su complemento binario, de esta forma:
Código Delphi [-]
FUNCTION Complemento (Valor: INTEGER): INTEGER;
BEGIN
  RESULT := (NOT Valor) + 1;
END;

Por ejemplo, para el -3:
Código:
Complemento ( 3) = NOT ( 3) + 1 = NOT (0011) + 0001 = 1100 + 0001 = 1101 = -3
Complemento (-3) = NOT (-3) + 1 = NOT (1101) + 0001 = 0010 + 0001 = 0011 =  3
Esto mantiene la coherencia matemática:
Código:
 4 - 7 = 4 + (-7) = -3

0100 - 0111 = 0100 + 1001 = 1101
Incluso con el cero:
Código:
NOT (0) + 1 = NOT (0000) + 0001 = 1111 + 0001 = 0000
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita