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
» trop de fichiers en cours
binaire et inverse Emptypar lepetitmarocain Aujourd'hui à 17:29

» Une calculatrice en une ligne de programme
binaire et inverse Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
binaire et inverse Emptypar leclode Hier à 17:59

» Bataille navale SM
binaire et inverse Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
binaire et inverse Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
binaire et inverse Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
binaire et inverse Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
binaire et inverse Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
binaire et inverse Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
binaire et inverse Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
binaire et inverse Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
binaire et inverse Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
binaire et inverse Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
binaire et inverse Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
binaire et inverse Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -39%
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
Voir le deal
399 €

 

 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 : 6996
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 : 6996
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 : 6996
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....
» Problème de fichier binaire.
» Convertisseur Binaire
» Ecriture dans un fichier binaire
» [tuto]Arbre binaire

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: