Jump to content
Fórum Script Brasil
  • 0

CONVERSOR DE BINÁRIO PARA DECIMAL


roccoC/C++

Question

Se você ta precisando de um Conversor de Binário para decimal,porque não testar este?

Este código esta baseado em outro,mais nem sei onde achei o original que não tenho mais.

na verdade o que é bom pode melhorar, e se você melhorar este projeto post aqui para nossa apreciação.

http://codigosfontes-ccplus-plus.blogspot....ra-decimal.html

Edited by roccoC/C++
Adicionar tags code [Durub]
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Para efeitos didáticos.

Abs


#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
void main(void)
{
union
{
unsigned char byte;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} unsigned binario;
} dado;

dado.byte = 127;
printf("Decimal: %d\n", dado.byte);
printf("Binario: %d%d%d%d-%d%d%d%d\n", dado.binario.bit7, dado.binario.bit6, dado.binario.bit5, dado.binario.bit4,
dado.binario.bit3, dado.binario.bit2, dado.binario.bit1, dado.binario.bit0);
printf("Hexa...: %02X\n", dado.byte);

printf("\n\n");

dado.binario.bit7 = 1;
dado.binario.bit6 = 0;
dado.binario.bit5 = 1;
dado.binario.bit4 = 0;
dado.binario.bit3 = 1;
dado.binario.bit2 = 0;
dado.binario.bit1 = 1;
dado.binario.bit0 = 0;

printf("Binario: %d%d%d%d-%d%d%d%d\n", dado.binario.bit7, dado.binario.bit6, dado.binario.bit5, dado.binario.bit4,
dado.binario.bit3, dado.binario.bit2, dado.binario.bit1, dado.binario.bit0);
printf("Decimal: %d\n", dado.byte);
printf("Hexa...: %02X\n", dado.byte);



system("pause");
}
[/codebox]

Link to comment
Share on other sites

  • 0

Olá.

Esse codigo deve funcionar em qualquer compilador, basta algumas mudanças (de coisas que não deveriam estar ai)

Obrigado e parabens pela iniciativa de compartilhar codigo.

Abs

#include <stdio.h>
// #include <dos.h>         // essa linha esta a mais
#include <stdlib.h>
void main(void)
{
union
{
unsigned char byte;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} unsigned binario;    // retirar o unsigned dessa linha e pronto, compila em Windows ou Linux
} dado;

dado.byte = 127;
printf("Decimal: %d\n", dado.byte);
printf("Binario: %d%d%d%d-%d%d%d%d\n", dado.binario.bit7, dado.binario.bit6, dado.binario.bit5, dado.binario.bit4,
dado.binario.bit3, dado.binario.bit2, dado.binario.bit1, dado.binario.bit0);
printf("Hexa...: %02X\n", dado.byte);

printf("\n\n");

dado.binario.bit7 = 1;
dado.binario.bit6 = 0;
dado.binario.bit5 = 1;
dado.binario.bit4 = 0;
dado.binario.bit3 = 1;
dado.binario.bit2 = 0;
dado.binario.bit1 = 1;
dado.binario.bit0 = 0;

printf("Binario: %d%d%d%d-%d%d%d%d\n", dado.binario.bit7, dado.binario.bit6, dado.binario.bit5, dado.binario.bit4,
dado.binario.bit3, dado.binario.bit2, dado.binario.bit1, dado.binario.bit0);
printf("Decimal: %d\n", dado.byte);
printf("Hexa...: %02X\n", dado.byte);

system("pause");
}

Link to comment
Share on other sites

  • 0

é você tinha razão cara fiz o que você falou, tirei o ( "unsigned" binario; // retirar o unsigned dessa linha e pronto, compila em Windows ou Linux),

e mudei de (void main(void), para int main(void) e compilei no Code Blocks e funcionou perfeitamente.

Agora, porque será que compila no Borlan sem alterações? isto não entendo. abrçs..

Link to comment
Share on other sites

  • 0

Galera, não compliquemos o que é fácil...

#include <stdio.h>
#include <stdlib.h>

void dec2Bin(unsigned long int num){
    if(num){
        dec2Bin(num/2);
        printf("%d ", num%2);
    }
}


int main(){
    unsigned long int num;

    scanf("%lu", &num);
    dec2Bin(num);
    
    return(0);
}

Um pouco de recursividade pode tornar o algoritmo mais fácil de entender, se usada corretamente.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...