Coucou tout le monde !!!
Je suis de retour sur le forum pour vous demander de l'aide !
J'ai un petit pépin sur mon code !
J'ai tapé mon petit code tout en m'inspirant des cours sur internet et des programmes déjà tapé et en suis arrivé à ça :
Mon code ne contient "aucune" erreur du point de vue du compileur. Cependant celui-ci, n'aboutit pas à ce que je voudrais ! C'est à dire convertir un entier naturels en binaire 8bits signé (-128 à 127)....Code:#include <stdio.h> #include <stdlib.h> #include <math.h> int main(){ //beginning// int tab[8]; int x; double q1, q2, r; int i; printf("Rentrer au clavier une valeur binaire, positive ou negative entre -128 & 127 : "); scanf("%d", &x); //treatment// while (x<-128 || x>127){ //Verification// printf("Erreur, impossible de coder ce nombre."); printf("Veuillez, le re-saisir : "); scanf("%d", &x); } for (i=0; x>0; i++){ //Traitement des valeurs positive// tab[i]=x%2; x= x/2; } r=x-2*q1; for (i=0; x<0; i++){ //Traitement des valeurs positive// x=abs(x); tab[i]= x%2; x= x/2; for (i=0; i>=8; i++){ if(tab[i]==0){ tab[i]=1; }else{ tab[i]=0; } } } //end// printf("\nLe nombre binaire est :\n "); for (i=i-1; i>=0; i--){ printf("%d\n", tab[i]); } system("PAUSE"); return 0; }
Pour ce qui est de la boucle "for (i=0; x<0; i++)", j'essaye simplement de donner au nombre sa forme positive en utilisant la valeur absolue (dans le cas de -4 = |-4|). Puis de remplacer avec la boucle "for (i=0; i>=8; i++)" les 0 par 1 et inversement.
Merci de votre attention, en espérant une aide rapide
-----