FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» SineCube
binaire et inverse Emptypar Marc Aujourd'hui à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
binaire et inverse Emptypar Marc Aujourd'hui à 12:22

» Philharmusique
binaire et inverse Emptypar jjn4 Hier à 13:58

» PANORAMIC V 1
binaire et inverse Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
binaire et inverse Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
binaire et inverse Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
binaire et inverse Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
binaire et inverse Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
binaire et inverse Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
binaire et inverse Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
binaire et inverse Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
binaire et inverse Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
binaire et inverse Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
binaire et inverse Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
binaire et inverse Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

 

 binaire et inverse

Aller en bas 
2 participants
AuteurMessage
Invité
Invité




binaire et inverse Empty
MessageSujet: binaire et inverse   binaire et inverse EmptyJeu 7 Mar 2013 - 23:43

Bonsoir,
Ce n'est pas vraiment une aide que je demande, vu que je pense que ma solution fonctionne.
Comme le forum semble calme, alors je me permet.

Il n'y a pas si longtemps, j'ai vu passer quelque chose pour décortiquer un nombre en binaire ou inverse, et je ne retrouve pas.

J'ai réussi une solution, en vous disant bien que je ne suis pas mathématicien, mais peut-être il y a plus simple, ou plus élégant.

Mon code:
Code:
dim b% , v% , bi% , bin$ , a$ , bin%

left 0,500 :font_size 0,14 :font_name 0,"Bitstream Vera Sans Mono"
memo 1:full_space 1:print_target_is 1

inverse(1587)
binaire(bin$)  :'  end

binaire("100")
inverse(bin%)

end
' ------------------------------
sub binaire(a$)
  dim_local a% ,b$ ,bi%
  bin% = 0
  bi%=1
 
  for a%=len(a$)  to    1  step -1
    b$ = mid$(a$,a%,1)
    if b$="1" then bin%=bin%+bi%
    bi%=bi%*2
  next a%
  print "binaire('" , a$ ,"') = ",bin%
end_sub
' ------------------------------
sub inverse(bi%)
  dim_local a%,b$
  b%=bi% : bin$=""  :  a%=1
  repeat            :' on cherche l'ordre de grandeur
    a%=a%*2
  until a% > bi%
  a%=a%-(a%/2)
  print "a>>a%=<< ",a%, "  bi%=",bi%
  repeat
    if a% =< b%
      bin$=bin$+"1"
      b%=b%-a%
    else
      bin$=bin$+"0"
    end_if
    a%=a%/2
  until a% = 0 or scancode = 27
  bin%=bi%
  print "INVERSE b%=",bin%,"  soit:",bin$
end_sub
A moins de retrouver le lien qui proposait des méthodes.
Merci.
Revenir en haut Aller en bas
Mumu




Nombre de messages : 176
Localisation : 45
Date d'inscription : 20/12/2012

binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse EmptyVen 8 Mar 2013 - 0:06

Bonsoir Coemos 70
j'ai jeté un petit oeil à ton code, ça m'a l'air de marcher.
je décortiquerai demain si j'en ai le temps...
pour info voici un certain nombre de subs que j'avais réalisées.
ça vaut ce que ça vaut mais jusqu'ici je ne les ai pas mises en défaut.

Je ne garantis pas le résultat esthétique du post, c'est la 1ère fois que j'inclus du code ...
bon j'essaye[code]' ------------------------------------------------------------------------------
'
' Conversion Décimal <-> binaire
'
'
' ------------------------------------------------------------------------------
sub dec2bin(nombre%)
if variable ("retour$") = 0 then dim retour$
retour$ = ""
while nombre% > 0
if mod(nombre%,2) = 0
retour$ = "0"+retour$
else
retour$ = "1"+retour$
end_if
nombre% = int(nombre%/2)
end_while
end_sub

sub bin2dec(chaine$)
dim_local i%
if variable ("retour%") = 0 then dim retour%
retour% = 0
for i% = len(chaine$) to 1 step -1
retour% = retour% + val(mid$(chaine$,i%,1))*power(2,len(chaine$)-i%)
next i%
end_sub

' ------------------------------------------------------------------------------
'
' Conversion Décimal <-> Octal
'
'
' ------------------------------------------------------------------------------

sub oct2dec(chaine$)
dim_local i%
if variable ("retour%") = 0 then dim retour%
retour% = 0
for i% = len(chaine$) to 1 step -1
retour% = retour% + val(mid$(chaine$,i%,1))*power(8,len(chaine$)-i%)
next i%
end_sub



sub dec2oct(nombre%)
if variable ("retour$") = 0 then dim retour$
retour$ = ""
while nombre% > 0
select mod(nombre%,Cool
case 0 : retour$ = "0" + retour$
case 1 : retour$ = "1" + retour$
case 2 : retour$ = "2" + retour$
case 3 : retour$ = "3" + retour$
case 4 : retour$ = "4" + retour$
case 5 : retour$ = "5" + retour$
case 6 : retour$ = "6" + retour$
case 7 : retour$ = "7" + retour$
end_select
nombre% = int(nombre%/Cool
end_while
end_sub

' ------------------------------------------------------------------------------
'
' Conversion Décimal <-> base N (0 < N entier <32)
'
'
' ------------------------------------------------------------------------------


sub baseN2dec(chaine$,base%)
dim_local i%
if variable ("retour%") = 0 then dim retour%
chaine$ = upper$(chaine$)
retour% = 0
for i% = len(chaine$) to 1 step -1
if asc(mid$(chaine$,i%,1)) < 58
retour% = retour% + (asc(mid$(chaine$,i%,1))-48)*power(base%,len(chaine$)-i%)
end_if
if asc(mid$(chaine$,i%,1)) > 64
retour% = retour% + (asc(mid$(chaine$,i%,1))-55)*power(base%,len(chaine$)-i%)
end_if
next i%
end_sub

sub dec2baseN(nombre%,base%)
if variable ("retour$") = 0 then dim retour$
retour$ = ""
while nombre% > 0
select mod(nombre%,base%)
case 0 : retour$ = "0" + retour$
case 1 : retour$ = "1" + retour$
case 2 : retour$ = "2" + retour$
case 3 : retour$ = "3" + retour$
case 4 : retour$ = "4" + retour$
case 5 : retour$ = "5" + retour$
case 6 : retour$ = "6" + retour$
case 7 : retour$ = "7" + retour$
case 8 : retour$ = "8" + retour$
case 9 : retour$ = "9" + retour$
case 10 : retour$ = "A" + retour$
case 11 : retour$ = "B" + retour$
case 12 : retour$ = "C" + retour$
case 13 : retour$ = "D" + retour$
case 14 : retour$ = "E" + retour$
case 15 : retour$ = "F" + retour$
case 16 : retour$ = "G" + retour$
case 17 : retour$ = "H" + retour$
case 18 : retour$ = "i" + retour$
case 19 : retour$ = "J" + retour$
case 20 : retour$ = "K" + retour$
case 21 : retour$ = "L" + retour$
case 22 : retour$ = "M" + retour$
case 23 : retour$ = "N" + retour$
case 24 : retour$ = "o" + retour$
case 25 : retour$ = "P" + retour$
case 26 : retour$ = "Q" + retour$
case 27 : retour$ = "R" + retour$
case 28 : retour$ = "S" + retour$
case 29 : retour$ = "T" + retour$
case 30 : retour$ = "U" + retour$
case 31 : retour$ = "V" + retour$
case 32 : retour$ = "W" + retour$
end_select
nombre% = int(nombre%/base%)
end_while
end_sub



' ------------------------------------------------------------------------------
'
' Conversion Décimal <-> hexa
'
'
' ------------------------------------------------------------------------------


sub hex2dec(chaine$)
chaine$ = upper$(chaine$)
if variable ("retour%") = 0 then dim retour%
retour% = hex(chaine$)
end_sub

sub dec2hex(nombre%)
if variable ("retour$") = 0 then dim retour$
retour$ = hex$(nombre%)
end_sub
Revenir en haut Aller en bas
Mumu




Nombre de messages : 176
Localisation : 45
Date d'inscription : 20/12/2012

binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse EmptyVen 8 Mar 2013 - 0:07

Loupé !!!
Revenir en haut Aller en bas
Invité
Invité




binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse EmptyVen 8 Mar 2013 - 0:33

Merci de ton intervention MUMU.
Une fois avoir posté mon problème, je me suis rappelé que dans les années 80, on utilisait mid$("0123456789ABCD",i%,1) pour faire la conversion.
Je vois en gros que tu utilises le principe avec CASE, c'est plus long.

Pour poster un code sur le forum, il faut bien faire "[cade]", mais il faut aussi le terminer à la fin par "[/cade]" J'ai mis [cade] à la place de code car il formate et disparait une fois envoyé, mais c'est bien code qu'il faut mettre. Ou alors tu cliques sur l'icône au dessus de la réponse, et tu recliques dessus pour fermer (ou alors tu cliques sur 'Fermer les balises').

Pour l'instant je reste sur ma solution, mais je ne suis pas fier de la partie dans la sub inverse(bi%):
Code:
  a%=1
  repeat            :' on cherche l'ordre de grandeur
    a%=a%*2
  until a% > bi%
  a%=a%-(a%/2)
car je pense qu'il y a mieux.
Je crois que pour moi, je vais cliquer maintenant sur: Sleep
Bonne nuit!
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse EmptyVen 8 Mar 2013 - 1:47

Salut tout le monde.

Voici ma solution, si ça peut vous intéresser, sinon regarder ICI c'est mieux !


Code:
dim decimal,binaire
decimal = 1587
decimal_binaire(decimal) :print decimal;" décimal ---> "; binaire;" binaire"
binaire = 11000110011
binaire_decimal(binaire) :print binaire; " binaire ---> ";decimal ; " décimal"
end
' ******************************************************************************
' Procédure transformant un nombre décimal en son équivalent binaire
' Entrée un nombre décimal
' Sortie un nombre binaire
SUB Decimal_Binaire(decimal)
    dim_local i%,q%,r%,n%
    binaire = 0 : i% = 0 : n% = decimal
    while n% >= 1
      q% = int(n%/2) : r% = mod(n%,2) : binaire = binaire + r% * power(10,i%)
      n% = q% : i% = i% + 1
    end_while
END_SUB
' ******************************************************************************
' Procédure transformant un nombre binaire en son équivalent décimal
' Entrée un nombre binaire
' Sortie un nombre décimal
SUB Binaire_Decimal(binaire)
    dim_local b$,i%,l%,
    b$ = str$(binaire): l% =len(b$): decimal = 0
    for i% = 1 to l%
        decimal = 2 * decimal + val(mid$(b$,i%,1))
    next i%
END_SUB
' ******************************************************************************
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse EmptyVen 8 Mar 2013 - 7:55

Eh bien mon Papydall, c'est beau! Rien à dire.
Tu as vu qu'avant de poser la question, j'ai fait l'effort de faire ma propre recherche...
Je m’aperçois que tu avais posté dans les sources, et il ne m'était même pas venu à l'idée d'aller voir dans cette partie. Je pensais qu'il s'agissait d'une réponse à une aide ou d'une discussion. Je suis à peu près certain qu'il y en a d'autres.
Et puis, je ne pense pas à aller voir ton ami, tu sais Google. Je viens de voir:
http://fr.wikihow.com/convertir-du-binaire-en-d%C3%A9cimal
par exemple. J'ai quand même du mérite de faire mes propres recherches Smile
Salutation.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse EmptyVen 8 Mar 2013 - 12:55

Bravo, rien à dire.
J’essaye de traduire un proverbe de chez nous :
Deux mérites à celui qui tente une chose et réussi et un seul mérite à celui qui tente une chose et ne réussi pas !

Morale : on doit toujours oser, tenter, essayer, et on ne doit pas avoir peur de se tromper.
Seul, celui qui ne tente rien, ne se trompe jamais !

Bon, j'arrête de divaguer binaire et inverse 0004
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse EmptyVen 8 Mar 2013 - 19:12

J'ai répondu de côté à conversion de base.
Je viens de regarder en détail le lien que j'ai mis après avoir été sur Google. La méthode 2 est exactement il me semble la méthode que j'ai mis au point. Je vais aller voir dans la glace, il me pousse des neuronnes. Shocked
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse EmptyVen 8 Mar 2013 - 23:09

Tant mieux pour toi.
Mais je ne crois pas que les neurones soient visibles dans la glace ! rendeer
Tout au plus, on sent une joie intérieure.
Et c'est déjà l'ultime récompense.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





binaire et inverse Empty
MessageSujet: Re: binaire et inverse   binaire et inverse Empty

Revenir en haut Aller en bas
 
binaire et inverse
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Binaire vous avez dit binaire mais....
» Binaire, Encore une question...
» Problème de fichier binaire.
» Convertisseur binaire
» Arbre binaire de recherche (AVL)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: