S'inscrire ! Pass oublié ?
Hyjoo
Portail Forums Jeux Flash Chat IRC Annuaire
Google

toujour du c++
Section : Informatique
Logiciels et materiel PC


Actualiser  Hyjoo > Forums > Le village > Informatique > toujour du c++

toujour du c++ : Discussion sur le forum Informatique (Logiciels et materiel PC : Informations et discussions sur les ordinateurs, les logiciels ou le materiel pc, la programmation et le high tech en général.)

 
Rechercher dans la discussion
 Toujour du c++
 Informatique : Logiciels et materiel PC
03/06/2004, 18h17 #1
dumdum 
Ombre

dumdum

toujour du c++

Alors voila il y a pas si longtemps g fait un convertisseur de nombre entier en binaire dont voila le code .
Code:
 
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define MAX 40
int t[MAX];
int val,i;
int main()
{
   int cont = 'o';
   while (cont == 'o')
   {
   cout<<"Entrer un nombres\n";
   i = 0;
   cin>>val;
   while (val != 0)
   {
   t[i] = val % 2;
   val = val / 2 ;
   i++;
   }
   cout<<"\nVotre valeur donne en binaire : \n";
   while ( i != 0)
   {
   i--;
   cout<<t[i];
   }
   cout<<"\n\nVoulez vous recomencer (o/n)\n";
   cont = getche();
   break ; 
   }
   cout<<"\n\n";
   system("PAUSE");
}

Et je voulais savoir comment ont pourait faire pour traduire les lettres en binaire .
les chiffres en hexa ??????
dumdum est déconnecté(e)
03/06/2004, 19h25 #2
Amiral 
Archange

Amiral

Re : toujour du c++

Pour traduire une lettre en binaire, il suffit de faire la même chose que ce que tu as fait avec les nombres.

Une lettre est un char, c'est à dire une variable codée sur un octet vaut entre 0 et 255. Tu peux donc considérer une telle lettre comme un nombre. Il y a toutefois une variante. Certaines lettres sont codées sur 2 octets (65536 lettres différentes) lorsque les caractères spéciaux comme ceux qu'on trouve en japonais sont gérés.

Le premier cas traite donc de l'ASCII étendu (8 bits), le second de l'UNICODE (16 bits). Donc selon le type de caractère que tu traites, tu as un nombre entre 0 et 255 ou entre 0 et 65535. Reste à faire les divisions par deux.

Remarque : une divison par deux n'est pas optimisée. Il existe un opérateur binaire te décalant les bits de ton nombre. Exemple '>>' te décale tes bits vers la droite, '<<' vers la gauche. Du coup, ça revient à faire une division par deux (décalage vers la droite) ou une multiplication par deux (décalage vers la gauche).


En ce qui concerne l'hexadécimal, les nombres vont entre 0 et 1F (c'est à dire 15). Donc là ou tu as 2 possibilités en binaires (0 ou 1), tu en as 16 en hexadécimal. Pour retrouver ton codage hexadécimal il te suffit de diviser par 16 au lieu de deux (ou 4 décalages binaires). Il y a toutefois une difficulté supplémentaire : 15 n'est pas codé par 15 mais par 1F, 14 par 1E, 13 par 1D, etc. A toi de faire la correspondance si tu veux un affichage.

J'espère que tout ça t'aidera. Bonne continuation dans ton apprentissage.

Dernière modification par Amiral : 04/06/2004 à 01h49. Motif: Correction de NeoSadness
Amiral est déconnecté(e) Voir une photo de Amiral sur son profil
03/06/2004, 21h10 #3
Neosadness 
Ombre

Neosadness

Re : toujour du c++

Citation
Posté par Amiral
Une lettre est un char, c'est à dire une variable codée sur un octet vaut entre 0 et 257.
Certaines lettres sont codées sur 2 octets (65536 lettres différentes) lorsque les caractères spéciaux comme ceux qu'on trouve en japonais sont gérés.

...tu as un nombre entre 0 et 256 ou entre 0 et 65535. Reste à faire les divisions par deux.

Juste une ou deux corrections

un variable codée sur un octet ou un byte (8bits) vaut entre 0 et 255 et non 257

certaines lettres sont codées sur 2 octets >> il y a aussi les touches étendues genre F1

...tu as un nombre entre 0 et 255

vila
Neosadness est déconnecté(e)
04/06/2004, 01h48 #4
Amiral 
Archange

Amiral

Re : toujour du c++

Autant pour moi, il sagissait bien de 255... mon doigt a rippé sur la touche située en ahut à gauche... bref, j'espère quand même avoir été assez clair.
Amiral est déconnecté(e) Voir une photo de Amiral sur son profil
04/06/2004, 11h43 #5
Neosadness 
Ombre

Neosadness

Re : toujour du c++

le reste me parait clair
Neosadness est déconnecté(e)
04/06/2004, 19h41 #6
dumdum 
Ombre

dumdum

Re : toujour du c++

merci bocoup lol je met le code sources une foix terminer pour voir quand c'est bon d'accord
dumdum est déconnecté(e)
04/06/2004, 23h33 #7
Nostrah 
Ombre

Nostrah

Re : toujour du c++

Correction également

1F = 31 en décimal = 11111 en binaire
F = 15 en décimal = 1111 en binaire

Pas la même chose
Nostrah est déconnecté(e) Voir une photo de Nostrah sur son profil
04/06/2004, 23h36 #8
Amiral 
Archange

Amiral

Re : toujour du c++

exact ! J'aurais du me relire un peu plus sérieusement.
Amiral est déconnecté(e) Voir une photo de Amiral sur son profil
05/06/2004, 13h46 #9
dumdum 
Ombre

dumdum

Re : toujour du c++

atendez stop je comprend plus rien ca veut dire qui sont egale a quoi les lettres
arreter de changer d'avis
dumdum est déconnecté(e)
07/06/2004, 02h50 #10
Amiral 
Archange

Amiral

Re : toujour du c++

pour l'hexadécimal j'ai fait une erreur. tu comptes 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11...

en fait c'est ce que j'ai mis à la différence qu'après 09 je mettais 1A... bref, c'est ce qu'il y a dans ce post là, mais ça ne change rien au principe.
Amiral est déconnecté(e) Voir une photo de Amiral sur son profil
07/06/2004, 07h23 #11
Neosadness 
Ombre

Neosadness

Re : toujour du c++

t'es pas obligé de mettre le 0


0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f-10-11-12-13-14-15-16-17-18-19-1a....

c bon aussi
Neosadness est déconnecté(e)
07/06/2004, 19h38 #12
dumdum 
Ombre

dumdum

Re : toujour du c++

du coup ca change tout mon code sources
dumdum est déconnecté(e)
07/06/2004, 19h59 #13
Amiral 
Archange

Amiral

Re : toujour du c++

t'es pas obligé de mettre le 0 mais je te le conseil pour t'y retrouver. En fait, dès que tu manipules plus d'un chiffre hexadécimal c'est très utile.
Amiral est déconnecté(e) Voir une photo de Amiral sur son profil
07/06/2004, 20h13 #14
Neosadness 
Ombre

Neosadness

Re : toujour du c++

Je viens de survoler le code, bin vi fallait bien

Heu, si tu sors déjà autant de librairies pour 10lignes de codes qu'est ce que ça va être après. Donc je ne pense pas me tromper en te disant qu'avec ton stdio.h t'as assez.

Puis 2variables globales c'est PO BIEN! T'as pas de besoin de variables globales pour un truc pareil .

EDIT: puis t'as un 'break' qui te sert à? je connais pas le C++, mais je pense que ton break sert à rien non? à part 'casser' un switch que tu n'as pas.
Donc je me dis qu'il est là pour ta boucle While, mais je ne vois tjs pas pq lol

EDIT2: un fflush(sdtin) ne tue personne

Dernière modification par Neosadness : 07/06/2004 à 20h22.
Neosadness est déconnecté(e)
07/06/2004, 21h32 #15
dumdum 
Ombre

dumdum

Re : toujour du c++

c'est quoi un fflush(sdtin) ?????
dumdum est déconnecté(e)

Navigation rapide:

« Discussion précédente | Discussion suivante »
Emplacement :
Actualiser  Hyjoo > Forums > Le village > Informatique > toujour du c++

Utilisateurs regardant cette discussion : 0 ( membre(s) et 0 invité(s))

Discussions similaires 
Discussion Auteur Forum Réponses Dernier message
PHP encore et toujour :D dumdum Informatique 7 15/11/2005 11h43
toujour down ou mon pc bug? socart Dragon Raja 1 02/08/2005 19h29
boire,boire et toujour boire... Spyke Jeux Flash 29 11/04/2005 19h47
Rechercher dans cette discussion 
Rechercher dans cette discussion:

Recherche avancée


Fuseau horaire GMT +2. Il est actuellement 22h58.

Edité par vBulletin - Copyright © 2000-2005 Jelsoft Enterprises Limited
Copyright © Hyjoo - Tous droits réservés