Autor Tema: Imprimir int32 en binario  (Leído 1631 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado mrmy

  • PIC10
  • *
  • Mensajes: 14
Imprimir int32 en binario
« 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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Imprimir int32 en binario
« Respuesta #1 en: 16 de Febrero de 2012, 13:16:37 »
No sería aux=shift_left(&vari,4,0); ?
No contesto mensajes privados, las consultas en el foro

Desconectado mrmy

  • PIC10
  • *
  • Mensajes: 14
Re: Imprimir int32 en binario
« Respuesta #2 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.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Imprimir int32 en binario
« Respuesta #3 en: 16 de Febrero de 2012, 16:18:29 »
tambien puedes usar ((vari>>i)&1)

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Imprimir int32 en binario
« Respuesta #4 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!
No contesto mensajes privados, las consultas en el foro

Desconectado mrmy

  • PIC10
  • *
  • Mensajes: 14
Re: Imprimir int32 en binario
« Respuesta #5 en: 17 de Febrero de 2012, 17:48:13 »
Gracias por tu ayuda.
Como puedo poner este tema como solucionado?

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Imprimir int32 en binario
« Respuesta #6 en: 17 de Febrero de 2012, 17:50:44 »
Editando el mensaje. Modificando el asunto del mismo.
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado mrmy

  • PIC10
  • *
  • Mensajes: 14
Solucionado
« Respuesta #7 en: 17 de Febrero de 2012, 22:10:50 »
Gracias por todos por la ayuda. ((:-))