Convertisseur d'une base vers une autre (binaire, octal, décimal et hexadécimal)

Soyez le premier à donner votre avis sur cette source.

Vue 7 414 fois - Téléchargée 980 fois

Description

ce petit prog permet de convertir un nombre dans une bases choisie parmi les bases suivante : décimal, binaire, octal et hexadécimal, et de le convertir dans l'une des bases citées ci dessus.

Conclusion :


ce code à été écrit entre 22h et 4h du mat' donc il reste quelque bug par ci par là...(surtout dans la gestion des erreurs), de plus il ne convertis pas les nombre à virgule (ou en tout cas la conversion est fausse).

merci pour les commentaire et de mettre une note...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

kurnz
Messages postés
6
Date d'inscription
dimanche 16 novembre 2003
Statut
Membre
Dernière intervention
4 octobre 2004
-
J'aimerais savoir si lorque tu écris octal tu veux dire base 8 ?? est-ce équivalent ??
Afyn
Messages postés
613
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 décembre 2016
-
Le DeltaTime est l'indication de la durée qui sépare 2 informations de messages MIDI dans les MIDIFILES.

Les Delta Times sont comptés en nombre de Ticks.

Le Tick est fonction de la résolution (division d'une noire en petit bout)
Plus la résolution est grande, plus l'intervalle de temps entre deux Ticks est petit.

C'est organisé de la Façon suivante :
- Delta Time - MIDI Message1
- Delta Time - MIDI Message2
- Delta Time - MIDI Message3

etc..

On appele cette technique "time-stamped", ou données qui sont référencées temporellement.

La durée qui sépare 2 messages peut varier de
0 (zéro) à 268 435 455 ticks (28bits)

Pour deux octets la procedure pour compacter des Delta Times est la suivante :
Décaler les bits 8 à 14 d'une position vers la gauche
Positionner à 1 le bit 7 de l'octet de poid faible
positionner à 0 le bit 7 de l'autre octet

C'est nécessaire de connaitre ce genre de mécanisme si l'on veut lire des fichiers MIDIFILE ou en écrire

Ces infos sont tirées de la Norme MIDI Tome 1
(ISBN-2-7361-1400-0)

Bon Dimanche

A+

Afyn
Navedac
DocteurVB
Messages postés
211
Date d'inscription
lundi 19 août 2002
Statut
Membre
Dernière intervention
20 mai 2005
-
à comprend toujours pas pourquoi tu te sert des décalages de bit, je me doute de toute façon que c'est le C ou le C++ qui est le plus adapté pour ce genre de chose mais c'est koi le "DeltaTimes"...?
Afyn
Messages postés
613
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 décembre 2016
-
-> suite pour les noctambules
EBArt -> Merci, c'est sympa, j'vais bucher ça
Doc -> Je m'en sert pour le calcul des DeltaTimes du MIDI, c'est la méthode qui à été retenue (à l'époque le Basic ne savait pas faire tout ça, alors on programmait en C) pour avoir des données de longueurs variables. (ca sert à rien de Xmettre un mot de 32 bits si la valeur est 10 par exemple).
Merci pour vos lumières à tout les deux.
A+
Afyn
Navedac
DocteurVB
Messages postés
211
Date d'inscription
lundi 19 août 2002
Statut
Membre
Dernière intervention
20 mai 2005
-
Cher EBArtSoft,

je ne savais pas qu'il existait une tel source sur ce site mais merci du renseignement.
ma source n'est pas très intéressante d'un point de vu mathématique. la conversion d'une base n vers une base m doit être un exercice autrement plus difficil que ce que j'ai pondu...
disons que mon code est plutot pratique pour étudier les fonctions d'extraction de chaine (ce sur quoi il sa base pour l'analyse des nombres).

d'autre part je me pose une question suite à votre reflexion sur le décalage de bit. quelle est le réel intéret du décalage de bit à part dans le calcule en base 2?

merci d'avance pour la réponse et bonne prog à tous...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.