rashidfarooq Ответов: 6

Как выполнить двоичный код


уважаемый друг.

Поскольку мы знаем, что двоичный язык ( 0 и 1) является единственным языком, который компьютер понимает непосредственно. Но я хочу знать, что если компьютер понимает двоичный язык непосредственно, то где применить этот двоичный код.
Какая форма пластины требуется для запуска этого кода.

Если я открою блокнот и напишу 010001001 (например), то компьютер это поймет.

Пожалуйста, объясните, если кто-то может.

6 Ответов

Рейтинг:
21

Cedric Moonen

Как сказал Кристиан, вы совершенно сбиты с толку "магией" 0 и 1. Компьютер не "понимает" никакого языка, он просто выполняет операции, которые ему даны. Эти операции на самом деле являются байтами (или больше), что соответствует коду плюс аргументы (также байты) в зависимости от операции. Вы можете записать эти коды в двоичном формате, если хотите, но тогда вам понадобится двоичный редактор (редактор, который принимает только 0 и 1 и хранит 8 из этих цифр в одном байте). Я никогда не слышал о двоичном редакторе.
Таким образом, если вы попытаетесь записать свой двоичный код в блокнот, каждая цифра будет преобразована в полный байт в зависимости от его кодировки символов: ноль имеет код ASCII 48, а единица-код ASCII 49 (см. здесь[^Итак, если вы напишете такую последовательность в блокноте:
0 0 1 1, он будет преобразован в двоичном формате в:
110000 110000 110001 110001 (48 и 49 преобразованы в двоичный код). Итак, вы видите, что это совершенно не то, что вы ожидали.
Что вы могли бы сделать, так это сложить 8 бит вместе и посмотреть в таблице ASCII на соответствующий символ и написать вместо него этот. Или вы можете использовать шестнадцатеричный редактор.

Однако даже если вам удастся написать свой двоичный файл таким образом, вы никогда не сможете его выполнить, потому что он не будет распознан Windows как допустимый исполняемый файл (у него нет правильного заголовка для isntance).

Итак, подводя итог, невозможно писать в двоичном формате (это было то, что вы могли сделать, когда был изобретен первый компьютер, но теперь это уже невозможно). Как сказал Кристиан, если вы действительно хотите перейти на самый низкий возможный уровень, вы должны писать на ассемблере. Но если вы понимаете, что такое ассемблер, вы скоро поймете, что он близок к "двоичному".


Рейтинг:
15

Christian Graus

Основная проблема заключается в том, что вы что-то услышали и совсем этого не понимаете. Если вы введете 1 в блокнот, он будет сохранен в виде байта ( 8 бит ) в текстовом файле. Вы не можете писать код в 1s и 0s, лучшее, что вы можете сделать, это написать ассемблер, который в конечном счете является тем, на что компилируются приложения. Я предлагаю вам забыть эту линию допроса, ни один из ответов не будет иметь смысла для вас, или помочь вам в любом случае. Никто не пишет ассемблерный код, если это возможно, и ни один программист не набирает 1 и 0 в течение всего дня.


rashidfarooq

возлюбленный брат.
Спасибо, что ответили.
Я не собираюсь писать ассемблер, но я хочу понять эту концепцию, что компьютер понимает двоичный язык непосредственно. Когда не было никакого языка, кроме двоичного языка, тогда ученые / программисты использовали какую форму пластины, чтобы управлять компьютером с помощью двоичного языка.
И эта пластинчатая форма существует сегодня?

Рейтинг:
1

Richard MacCutchan

Вместо того чтобы добавлять к предыдущим комментариям я бы просто предложил вам взглянуть на некоторые из них Документы [^] которые объясняют их архитектуру (платформу, на которой обычно работает Windows).


Рейтинг:
1

Niklas L

рашидфарук писал: "Когда не было никакого языка, кроме двоичного языка, тогда ученые / программисты использовали форму пластины, чтобы управлять компьютером с помощью двоичного языка."

Перфокарта[^ это был один из способов сделать это. Ручная настройка электрических выключателей другая.

рашидфарук писал: "И эта пластинчатая форма существует сегодня?"

Это, вероятно, может быть предметом для курса электромеханики или тому подобного, но не для коммерческого использования.


Рейтинг:
0

Aescleal

Прочтите книгу Эндрю Таненбаума "структурированная компьютерная организация." Я бы рекомендовал 3-е или более позднее издание, если вы покупаете одну подержанную руку. Таненбаум берет читателя из описания цифровых схем (где высокие и низкие разности потенциалов представляют двоичные 0 и 1) и строит на нем, пока не достигнет операционных систем. По пути он отвечает на все ваши вопросы и дает вам довольно хорошее представление о том, как работают компьютеры.

Овации,

Пепел


Рейтинг:
0

bleedingfingers

Вы очень хорошо можете. Однако вы должны понимать основы.

Когда вы набираете 1 и 0 в блокноте, они записываются и сохраняются в виде символов, то есть 8 бит (предположим, ASCII), которые сами по себе содержат серию 1 и 0, которые используются для представления символов "1" и "0".

Настоящие двоичные файлы-это другая игра в мяч. Во-первых, они зависят не только от базового процессора, но и от операционной системы, на которой они должны работать. И именно по этой причине исполняемый файл Windows не может быть запущен на Linux и наоборот, даже если обе ОС работают на одном и том же процессоре.

Then, it depends on how you present the binaries to the OS. Every OS has its own format which it considers executable. For Windows, its the PE format. Read about it, understand and learn that format. But what are you going to program? You can't write C there! You got to write in low level code. So, you got to learn assembler for the target processor. Then you must become familiar with the byte encoding of the assembler mnemonics, which, believe me, isn't pretty at all. Then, after all these, get hold of a hex editor. A hex editor allows you you type binary '1' instead of ASCII '1'. Now you are ready to create an executable "by hand" and don't forget to save the file with the expected extension, which is ".exe" for Windows.

Если вы вообще собираетесь попробовать это, прежде чем делать какие-либо причудливые вещи, заставьте этот исполняемый файл работать, например, напишите "программу", которая пуста и ничего не делает. И это само по себе будет очень утомительно сделать!

Это весело, без сомнения, и помогает вам понять многое о том, что именно заставляет вещи работать, но это не рекомендуется для офисной работы!