|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Eleveur de cornichons Inscription : juin 2002 Messages : 1 077 ![]() |
Bonjour
Je me pose cette question depuis longtemps : le langage de programmation binaire existe t-il ? En fait, je vais préciser ma question. Quand on on fait un programme en C par exemple, on tape du code dans le compilateur qui créer l'executable binaire une fois compilé (en passant par le linkage et le .obj mais sans importance ici ). Le fichier est donc un fichier binaire avec des 0 et des 1 . Ceci m'amène a poser deux questions : 1) Existe -til des programmes qui permettent de voir un executable sous sa forme binaire (avec les 0 et les 1) ? 2) Est-ce que, si un programme qui permet de taper du binaire directement (0 et 1) existait (ou existe), si on tape exactement la meme chose qu'un programme fait en C (mais sous la forme binaire) directement, aurait t on le meme résultat. Schéma d'explication. Suposons que je tape ce code C : Ce code on va dire il genère le code binaire suivant : (ce n'est qu'un exemple). Mtn si je prend un éditeur de code binaire et je tape : (comme le code generer par le programe C).. est-ce que j'aurais aussi un "salut" qui saffichera ? Ca peut paraitre embrouillant tout ca mais j'espère que vous suivez. Je me pose aussi une question presque similaire : quand on ouvre un fichier .bmp (image) avec un editeur de traitement de texte (word par exemple) on obtient des caractères spéciaux et un peu "n'importe quoi". Mtn, est-ce que si on avait pris Word et qu'on avait tapé exactement la meme chose que ce qu'on peut voir lorsqu'on ouvre une image avec word, et qu'on le renome en .bmp, est-ce qu'on aura une image pareille? Dans ce cas, on pourrait "dessiner" avec Word... Voila mes quetions bizzares J'espère que les réponses seront claires (plus que les questions en tout cas Nas' |
|
|
01
|
|
|
#2 | |
|
Candidat au titre de Membre du Club
![]() |
Citation:
Les caractères que tu vois sont les codes ascii correspondant aux octets qui composent l'image. Par contre, je te souhaite énormément de courage si tu veux créer une image bmp avec Word de cette façon, déjà, c'est long, en plus, Word ne permet pas de créer des fichiers "propres", au sens où il va systématiquement rajouter des octets inutiles pour ton image... Bref, tu peux utiliser edit sous dos, mais alors, bon courage, encore une fois... |
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Analyste-programmeur Inscription : mai 2002 Messages : 2 140 ![]() |
Bin, reviens au système des cartes à perforer !
Les petits trous, c'est du binaire, non ?
__________________
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ______________________________________________________________________________________________ Delphi 6#2 Entreprise - Delphi 2010 Architecte - Delphi XE2 Entreprise Win XP Pro - OpenGL 2.1 - Oracle 11g - Firebird 2.5.0.2 Écrivez dans un français correct !!
|
|
|
01
|
|
|
#4 |
|
Membre actif
![]() Bruno Développeur en systèmes embarqués Inscription : mai 2002 Messages : 114 ![]() |
La programmation bianaire, ce n'est rien de plus que de l'assembleur. Quand tu programme en Assembleur, chaque instruction correspond à un chiffre en héxa (donc un nombre binaire...) Cette instruction peut être suivi de plusieurs opérande...
Quand j'ai fait de la prog de 6809, on rentrait tout en héxa... Tu pourrais aussi le rentrer en binaire, mais ça prend 4 fois plus de temps encore... Alors bon courage!!! |
|
|
00
|
|
|
#5 | |
|
Membre actif
![]() Bruno Développeur en systèmes embarqués Inscription : mai 2002 Messages : 114 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Eleveur de cornichons Inscription : juin 2002 Messages : 1 077 ![]() |
Donc s'il y avait un éditeur de code binaire pure (1 et 0) et que si je tape :
Code :
Nas' |
||
|
|
00
|
|
|
#7 |
![]() ![]() Administrateur systèmes et développeur Web Inscription : juin 2003 Messages : 7 989 ![]() |
Parfaitement. Il suffit d'écrire un petit programme en C par exemple qui lirait ton fichier source par bloc de 8 chiffres et qui en fabriquerait un octet et tu ferais par exemple un .COM. Pour les autres types de fichiers exécutables, cela sera bien plus chiant car tu n'as pas que du code, mais aussi des informations annexes (genre table des relocations et tout...) Sur DOS/Windows, je te recommande le .COM c d'la balle
PS: Bravo pour ta curiosité scientifique, voilà une question qui change de l'ordinaire |
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() |
Je ne comprend pas trop la question ? Au final, tout ce qui se trouve sur ton ordinateur est écrit en binaire, donc les programme aussi, il suffit de connaître les bons codes pour ton processeur (et ton OS) et tu peux écrire théoriquement n'importe quel programme juste en enchaînant des 1 et des 0 (pourvu que tu ais un éditeur binaire, mais on trouve plus facilement un éditeur héxadécimal, c'est déjà un brin plus manipulable !!).
Ca fait partie des bases à comprendre puis à oublier au plus vite si tu utilises des langages de haut-niveau |
|
|
00
|
|
|
#9 | |
|
Membre actif
![]() Bruno Développeur en systèmes embarqués Inscription : mai 2002 Messages : 114 ![]() |
Citation:
C des fous!!!
|
|
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Eleveur de cornichons Inscription : juin 2002 Messages : 1 077 ![]() |
lut
Je vous remercie tous de vos réponses . Je suis quand meme etonné par certaine réponses mais ca me rassurent en meme temps car c'est ce que je pensais un peu . En posant ma question, je pensais aussi au fichier .COM de Windows mais je savais pas pk, c'était d'instin lol, et apparament y'a bel et bien un rapport Sinon, je sais que tout est transformé en binaire par l'ordi mais ca me semblait un peu "fou" le fait de rééecrire un prog en binaire directement. Certains m'ont dit "bon courage..." mais je comptais pas faire un prog en binaire directement Mais existe -il des gens qui le font ? Quand on dit "apprendre le binaire", j'espère que c'est pas de ca qu' "ils" parlent ! Je sais transormer un entier en binaire et inversement , est-ce que c'est ca "connaitre le binaire" ? Citation:
j'ai rien compris lol ![]() Citation:
Nas' |
||
|
|
00
|
|
|
#11 | |
![]() ![]() Administrateur systèmes et développeur Web Inscription : juin 2003 Messages : 7 989 ![]() |
Citation:
|
|
|
00
|
|
|
#12 | |||
|
Candidat au titre de Membre du Club
![]() |
Citation:
Plus précisément, c'est à partir de ce code que DOS est "né" (je le mets entre "" car c'est pas de billou au départ)... C'est aussi ce type de code que l'on trouve dans les BIOS, qui font (je généralise) 64Ko (comme par hasard => 64Ko = 1 segment en mémoire)... Citation:
On perçait des trous sur une carte, et en fonction de leurs position, on exécutait un code précis. Le binaire, comme le disait très justement anomaly, on ne l'apprends que pour comprendre en gros comment ça marche, mais on ne programme JAMAIS DIRECTEMENT en binaire... Par contre, on peut programmer avec une suite de codes hexa, ce sont les instructions/opérandes compréhensible par le processeur... Au-dessus il y a l'assembleur avec les mnémoniques. Quand on programme en asm, on compile et on link le programme, cette opération consiste, en gros, à passer des mnémoniques au code hexa correspondant aux opérandes. Si tu veux le faire sur un pentium, par exemple, tu peux, il suffit de te renseigner chez Intel, là, et tu auras les codes correspondant aux instructions... Voilà, j'ai essayé de répondre à tes questions le plus simplement du monde, j'espère que ça va t'apporter la goutte d'eau qui te manquait dans ta soif de connaissance... |
|||
|
|
00
|
|
|
#13 | ||
![]() ![]() Administrateur systèmes et développeur Web Inscription : juin 2003 Messages : 7 989 ![]() |
Citation:
Citation:
|
||
|
00
|
|
|
#14 | |
|
Membre du Club
![]() Inscription : juin 2003 Messages : 55 ![]() |
Citation:
Tout guide de programmation d'un microcontroleur qui se respecte presente, dans la description de ses commandes assembleur, l'opcode correspondant. |
|
|
|
00
|
|
|
#15 | |
|
Membre actif
![]() Bruno Développeur en systèmes embarqués Inscription : mai 2002 Messages : 114 ![]() |
Citation:
Heureusement qu'on en est pas resté aux cartes... Moa je suis super organisé En plus en ce temps là, il y avait un techinicen payé pour passer tes cartes une à une dans la machine... Ca prenait des heure pour un prog de kelke lignes... Quand tes profs te raconte ça tu les compare à des Mamouth... Pourtant ce n'est pas si vieux que ça... |
|
|
|
00
|
|
|
#16 |
|
Inactif
|
Quand j'étais en IUT, j'ai rencontré un mec qui avait programmé ......... par manipulation d'interrupteurs !!!!!
Déjà à l'époque (1988) ça paraissait hallucinant... Maintenant, je pense que ce type passerait pour un dinosaure !!! |
|
|
00
|
|
|
#17 |
|
Membre confirmé
![]() Inscription : décembre 2002 Messages : 237 ![]() |
N'oubliez pas les appareils possédant un microprocesseur dédié qui peuvent nécessiter un autre type de programmation.
par exemple une carte à puce. |
|
|
00
|
|
|
#18 |
|
Membre à l'essai
![]() Inscription : août 2003 Messages : 55 ![]() |
Cette question m'intéresse aussi : je programme en Qbasic et (un tout petit peu) en C. Je n'ai pas encore trouvé en Qbasic d'instruction d'ES sur fichier qui écrive bit par bit. J'ai contourné le problème en faisant une fonction qui convertit la valeur ASCII du texte que je tape en binaire et une autre qui fait l'inverse.
Le problème, c'est qu'après avoir passé une chaine ASCII à la première fonction, elle me renvoie une chaine composée uniquement de 0 et de 1, donc 8 fois plus volumineuse que la chaine de départ. -1, c'est long -2, les limites des tailles des chaines ne sont pas infinies (très loin de là) en Qbasic. Est-ce que ça pose le même problème pour tous les langages? Parce-que moi, j'aimerais pouvoir réduire la taille de certains fichiers texte par exemple en ne mettant que 32 caractères différents soit 6 bits par caractère. Ce n'est qu'un exemple, bien sûr. Enfin, merci d'avoir lancé le sujet (je rechigne un peu à le faire moi-même et on est toujours content de pas être le seul à se poser une question). |
|
|
00
|
|
|
#19 | |
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 525 ![]() |
Citation:
__________________
Reportage d'Arte sur Linux |
|
|
|
00
|
|
|
#20 | |
|
Membre à l'essai
![]() Inscription : août 2003 Messages : 55 ![]() |
Citation:
De même, il n'existe pas d'instruction d'E/S qui puisse modifier un bit dans un fichier etc... |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com