Page 1 sur 1
[Ex] Du Décimal au Binaire
Posté : mar. 23 févr. 2010 18:45
par Narmeke
Salut tous le monde !!
Voici mon premier exemple alors soyez indulgent
(Je ne sais pas si ce script existe déjà, j'ai donc coder le miens

)
Donc je vous présente mon petit script qui permet de convertir un nombre décimal (entier c'est à dire sans virgule) en Binaire ! (oui avec des 0 et des 1

)
Quand je me suis lancé dans ce script j'avoue que je ne pensais pas y arrivais mais au final, une fois le système de conversion assimilé c'est plutôt simple
Passons au choses sérieuses :
Version : 1.0.0.0
► Afficher le texte
Code : Tout sélectionner
#Include <String.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
GUICreate("Décimal To Binaire || Converter || By Narmeke", 596, 59, 302, 225)
GUICtrlCreateLabel("Nombre entier :", 16, 24, 76, 17)
$INPUT_DECIMAL = GUICtrlCreateInput("0", 96, 23, 89, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_NUMBER))
$BOUTON_CONVERTIR = GUICtrlCreateButton("== Convertir ==>", 208, 15, 97, 33, $WS_GROUP)
GUICtrlCreateLabel("Nombre binaire :", 323, 24, 81, 17)
$INPUT_BINAIRE = GUICtrlCreateInput("0", 411, 23, 161, 21, BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_NUMBER))
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BOUTON_CONVERTIR
$NBR_DECIMAL = GUICtrlRead($INPUT_DECIMAL) ;Ce que l'on cherche
$NBR_BINAIRE = "" ;Le résultat Final
$RESULT = 0
;Petit Rapel : 0 = Faux || 1 = Vrai
$RESULT = $NBR_DECIMAL / 2
While 1
If $RESULT = 0 Then
$BINAIRE_FIN = _StringReverse($NBR_BINAIRE)
GUICtrlSetData( $INPUT_BINAIRE, "")
GUICtrlSetData( $INPUT_BINAIRE, $BINAIRE_FIN)
ExitLoop
EndIf
If IsInt($RESULT) Then
$NBR_BINAIRE = $NBR_BINAIRE&0
Else
$RESULT = $RESULT - 0.5
$NBR_BINAIRE = $NBR_BINAIRE&1
EndIf
$RESULT = $RESULT / 2
WEnd
EndSwitch
WEnd
[Edit 1]
Nouvelle Version Disponible (Avec les sources)
Version : 1.0.0.1
Ajouts :
- Image (Boutton)
- Fonction "Enregistrer les calculs"
Corrections :
- Correction du beug lors du calcul du 0
Téléchargement :
[/Edit 1]
P.S : Si vous voulez plus d'explications sur le système de conversion, je peux vous fournir des mini exemples détailler !
Re: [Ex] Du Décimal au Binaire
Posté : mar. 23 févr. 2010 19:11
par Simoes03
Merci

, justement notre prof de MPI en voulait un sous autoit!! Merci beaucoup

Re: [Ex] Du Décimal au Binaire
Posté : mar. 23 févr. 2010 19:22
par Narmeke
Derien
Par contre je le re dit, il ne gère pas les nombres a virgule !
Apparement, un nombre a virgule en binaire n'est pas possible !
Exemple :
► Afficher le texte
10,93 (Virgule) = 10 (On enlève la virgule) = 1010 (Résultat en binaire)
123,51 (Virgule) = 123 (On enlève la virgule) = 1111011 (Résultat en binaire)
Re: [Ex] Du Décimal au Binaire
Posté : mar. 23 févr. 2010 19:32
par timmalos
Pour les nombres a virgules, il existe une norme, vous devez d'abord travailler le nombre entier, le transformer en MANTISSE, puis le reste après virgule ressemble etrangement à l'algorithme que vous avez appliqué.(Sans le retournement de la fin)
Plus d'infos :
http://fr.wikipedia.org/wiki/IEEE_754
Re: [Ex] Du Décimal au Binaire
Posté : mar. 23 févr. 2010 19:36
par Narmeke
Merci, je vais voir !
Mais d'après quelques recherches, j'ai editer mon post juste avant le votre sans l'avoir lu !

Je vais faire quelques recherches et améliorer le code peut être ^^
Re: [Ex] Du Décimal au Binaire
Posté : mer. 24 févr. 2010 07:22
par pop45
Simoes03 a écrit :Merci

, justement notre prof de MPI en voulait un sous autoit!! Merci beaucoup

Toi jte jure que si tu lui debale sa a notre prof d'MPI jte ballance illico presto
Sinon ton script est pas mal , jetait entrain d'en faire un (j'ai laisser tomber pour cause de flemmardise :/)
Mais j'en ai fait un pour ma calculette

(qui fait les 2 eniter a binair et binaire a entier )
Re: [Ex] Du Décimal au Binaire
Posté : mer. 24 févr. 2010 08:28
par Narmeke
Je suis content que ce script soit utile

Re: [Ex] Du Décimal au Binaire
Posté : mer. 24 févr. 2010 09:49
par Tlem
Sinon, j'aime bien cette version qui est un peut plus complète :
► Afficher le texte
Code : Tout sélectionner
; http://www.autoitscript.com/forum/index.php?showtopic=93742&view=findpost&p=673358
ConsoleWrite("Conversion de 255 en base 2 (binaire) = " & _ToBase(255, 2, 8) & @CRLF)
ConsoleWrite("Conversion de 255 en base 8 = " & _ToBase(255, 8) & @CRLF)
ConsoleWrite("Conversion de 255 en base 16 (Hexadecimal) = " & _ToBase(255, 16, 8) & @CRLF)
Exit
Func _ToBase($iNumber, $iBase, $iPad = 1)
Local $sRet = "", $iDigit
Do
$iDigit = Mod($iNumber, $iBase)
If $iDigit < 10 Then
$sRet = String($iDigit) & $sRet
Else
$sRet = Chr(55 + $iDigit) & $sRet
EndIf
$iNumber = Int($iNumber / $iBase)
Until ($iNumber = 0) And (StringLen($sRet) >= $iPad)
Return $sRet
EndFunc
ou alors celle-ci qui est plus basique :
► Afficher le texte
Code : Tout sélectionner
; http://www.autoitscript.com/forum/index.php?showtopic=94500&view=findpost&p=678858
Global $iNumber
Do
$iNumber = Number(InputBox("Dec2Bin", "Enter a decimal number", $iNumber))
MsgBox(64, "Result for " & $iNumber, Dec2Bin($iNumber))
Until $iNumber = 0
Exit
Func Dec2Bin($iNumber)
Local $sRet = ""
Do
$sRet = BitAND($iNumber, 1) & $sRet
$iNumber = BitShift($iNumber, 1)
Until $iNumber = 0
Return $sRet
EndFunc
Re: [Ex] Du Décimal au Binaire
Posté : mer. 24 févr. 2010 15:20
par Simoes03
pop45 a écrit :Simoes03 a écrit :Merci

, justement notre prof de MPI en voulait un sous autoit!! Merci beaucoup

Toi jte jure que si tu lui debale sa a notre prof d'MPI jte ballance illico presto
Sinon ton script est pas mal , jetait entrain d'en faire un (j'ai laisser tomber pour cause de flemmardise :/)
Mais j'en ai fait un pour ma calculette

(qui fait les 2 eniter a binair et binaire a entier )
Lol t' inquiète, je respecterais les droits d'auteur

Re: [Ex] Du Décimal au Binaire
Posté : mer. 24 févr. 2010 19:34
par Narmeke
A quand même

Re: [Ex] Du Décimal au Binaire
Posté : ven. 26 févr. 2010 12:19
par Narmeke
Edit 1 : Premier post !