Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 13-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Panasys Ver Mensaje

Ahora cuando trabajo con pocas entradas no pasa nada, el codigo es corto y rapido, pero si tengo que procesar 8 bits se complica ya que obtengo de 0 a 255 combinaciones posibles entre esos bits!

hay algun metodo que yo pueda usar para decirle oye cuenta pero solo los impares hasta 255??? y el bit 2 cuenta 2,4 7,8 etc?
Al leer tu segundo post veo que hablas de 'bits' no de bytes por lo que pareciera que querés obtener la sumatoria
de los 'bits' pares e impares recibidos...

Si no entiendo mál y es eso lo que buscas, podrías hacer:
Código Delphi [-]
procedure SumaBitParImpar(Num: Integer; var Par, Non: Integer);
var
  i,c : Byte;
begin
  c:= 0;
  for i:= 0 to 7 do
   if (Num shr i) and 1 = 1 then // verificar sucesivos bits encendidos
     Inc(c);
  if Num and 00000001 = 1 then  //También puede ser: if Odd(Num), pero ya que estamos con bits...
    Non:= Non + c
  else
    Par:= Par + c
end;

Ejemplo de llamada:
Código Delphi [-]
...
var
  i: Integer;
  Par, Non: Integer;
begin
  Par:= 0;
  Non:= 0;
  for i:= 1 to 3 do
    SumaBitParImpar(i,Par,Non);
  ShowMessage(Format('Par: %d Impar: %d',[Par,Non]));
end;
Lo que te arroja el mensaje: 'Par: 1 Impar: 3' dado que:
1 = 01 (un bit número impar)
2 = 10 (un bit número par)
3 = 11 (dos bits número impar)

Es sólo un ejemplo, modificando un poco el código podes hacer que solo haga el conteo de bits por numero recibido, o en última instancia, espero que te aporte alguna idea...

Saludos.

Última edición por ecfisa fecha: 13-10-2010 a las 21:18:08.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como hacer un smtp server ¿relay? como el de argosoft JXJ Varios 5 02-12-2008 19:13:52
como hacer graficos en php? gabrielflowers PHP 2 22-04-2008 22:15:17
como hacer conexion con dbe cutfe Conexión con bases de datos 1 18-04-2008 05:15:57
¡¡Como hacer un exe que modifique un EXE JXJ Varios 0 09-08-2005 20:36:33
No se como hacer SQL Alexander SQL 1 28-06-2005 22:27:51


La franja horaria es GMT +2. Ahora son las 00:34:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi