TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: mrmy en 16 de Febrero de 2012, 13:06:44

Título: Imprimir int32 en binario
Publicado por: mrmy en 16 de Febrero de 2012, 13:06:44
Saludos a todos.
Quiero imprimir un entero de 32 bits en binario pero al simularlo en proteus me imprime su numero correcto en decimal pero en binario no.

Aqui el codigo

#if defined(__PCM__)
#include <16F877.h>              // DISPOSITIVO A PROGRAMAR
#include <2416.c> // Librería para el manejo de la EEPROM 24LC16B
#fuses XT, NOWDT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT               
/////////////////declaracion de variables y configuracion///////////////////////
#use delay(clock=4000000)        // XTAL OSCILADOR EXRTERNO 4MHZ
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#include <string.h>
int32 vari,f0;
int i,j,aux;
void main(void)
{
  f0=0b11111111111111111111111111111111;
  vari=f0;
  printf("%lu\r",f0);
  for(i=0;i<=31;i++)
  {
   aux=shift_left(&vari,1,0);
   printf("%d",aux);
  }
}



En decimal me sale: 4294967295
Y en binario           : 11111111000000000000000000000000
Título: Re: Imprimir int32 en binario
Publicado por: Suky en 16 de Febrero de 2012, 13:16:37
No sería aux=shift_left(&vari,4,0); ?
Título: Re: Imprimir int32 en binario
Publicado por: mrmy en 16 de Febrero de 2012, 13:45:57
Si funciono. :-/
Pero porque 4 y no 1, si quiero pasar bit por bit pienso que deberia ser 1.
Título: Re: Imprimir int32 en binario
Publicado por: MerLiNz en 16 de Febrero de 2012, 16:18:29
tambien puedes usar ((vari>>i)&1)
Título: Re: Imprimir int32 en binario
Publicado por: Suky en 16 de Febrero de 2012, 19:04:23
Si funciono. :-/
Pero porque 4 y no 1, si quiero pasar bit por bit pienso que deberia ser 1.

Porque ese parámetro (Hay que leer el Help) indica la cantidad de bytes que compone la variable.


Saludos!
Título: Re: Imprimir int32 en binario
Publicado por: mrmy en 17 de Febrero de 2012, 17:48:13
Gracias por tu ayuda.
Como puedo poner este tema como solucionado?
Título: Re: Imprimir int32 en binario
Publicado por: jukinch en 17 de Febrero de 2012, 17:50:44
Editando el mensaje. Modificando el asunto del mismo.
Título: Solucionado
Publicado por: mrmy en 17 de Febrero de 2012, 22:10:50
Gracias por todos por la ayuda. ((:-))