Top.Mail.Ru
Ответы

Как двоичная система отличает, что данное число преобразуется в букву

В двоичной системе буква (к примеру А), обозначается по таблице 65, а 65 в двоичной 1000001. ТАК, КАК СИСТЕМА ОТЛИЧИТ «65» от «А»?, ведь 65 можно записать как цифру, а преобразовывать её.
ПОМОГИТЕ!!! Никак понять не могу!

Дополнен

Ошибка: а не преобразовать*

По дате
По рейтингу
Аватар пользователя
Новичок
5лет

никакая система никак не отличает. Для компьютера это всё двоичные данные.
Отличает программист, который в курсе, как интерпретировать тот или иной участок памяти. Для этого в синтаксисах яп предназначены типы данных

Аватар пользователя
Просветленный
5лет

Никак. это в принципе невозможно.
Вопрос изначально содержит в себе логическую ошибку. Любой ответ на него будет ошибочным и как следствие пришел к парадоксу который ставит тебя в тупик.
Ошибка в том что для тебя «1000001», «65» и «А» это разные сущности но ты не можешь понять как их отличить друг от друга.

А на самом деле это хороший пример логической ошибки где легко ее найти построением суждений.
Использование логики как инструмента сильно упрощает жизнь особенно в программировании.

Аватар пользователя
Искусственный Интеллект
5лет

Так всё зависит от программы, которая будет записывать / считывать бинарный файл.
У нее существует логика, которой программа и руководствуется. В данном контексте программа может считывать и биты, и байты, и слова, и двойные слова, т. к. она "знает" правила по которым информация записывалась.
Если же наобум считывать бинарный файл, то он всегда считывается побайтно и выводится на экран символами ( например текстовый редактор или HEX-едитор)
Также побайтно считываются фото, видео, аудио... В таких файлах существует заголовок, в котором описаны правила чтения/преобразования информации.

Аватар пользователя
Мастер
5лет

Зависит от типа переменной, например char и int. Char в данном случае будет символом, а int числом.

Аватар пользователя
Просветленный
5лет

#include windows.h
#include iostream
#include iomanip
#include locale
#include conio.h
#include string
#include

using namespace std;

int main()
{
setlocale(LC_ALL, "rus"); SetConsoleOutputCP(1251);
SetConsoleCP(1251);

int a= 'A'; char b= 'A';
cout<<"В переменной int а Код 'A'= "<<a<<endl;
cout<<"В переменной char b Cимвол 'A'= "<<b<<endl;
cout<<"Печатаем код символа 'A' из переменной типа int b= "<<int(b)<<endl;
cout<<"Печатаем букву А из int b= "<<char(a);

cout<<endl; system("pause");
return 0;
}