Преобразует ли computet каждую цифру ascii (в двоичном формате) в ее числовой эквивалент (в двоичном виде)? - PullRequest
0 голосов
/ 31 марта 2019

Преобразует ли computet каждую цифру ascii (в двоичном формате) в ее числовой эквивалент (в двоичном виде)? Скажем, если в качестве входных данных задано 9, то его значение ascii будет 00111001, и мы знаем, что двоичное число из 9 равно 1001, тогда как компьютер преобразует значение ascii из 9 в двоичное число из 9.

Ответы [ 2 ]

1 голос
/ 31 марта 2019

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

Удобно описывать битовые комбинации как числа.Шестнадцатеричный код является наиболее распространенной формой, поскольку он компактен, представляет каждый бит в легко различимом виде и хорошо согласуется с шириной памяти (например, кратной 8 битам).

Способ интерпретации битовой комбинации зависит от контекста.Этот контекст определяется программами в соответствии с соглашениями и стандартами, подавляющее большинство которых выходит за рамки самого компьютерного оборудования.

Некоторые битовые комбинации являются программами.Определенные биты могут идентифицировать операцию, некоторые регистр, некоторые местоположение инструкции, некоторые местоположение данных и только некоторое числовое значение.

Если у вас есть битовый шаблон, который вы намеренно представляете символом «9», тогда онделает это до тех пор, пока оно проходит через программу, в которой эта интерпретация встроена или осуществляется.Для удобства мы называем битовую комбинацию для символа "код символа".

Вы можете написать программу, которая преобразует битовую комбинацию для символа '9' в битовую комбинацию для конкретного представлениячисловое значение 9. Ниже приведен один из способов сделать это.

C требует, чтобы определенные символы были представимы, включая цифры от 0 до 9, и чтобы коды символов для этих символов интерпретировались как числа, являются последовательными и увеличиваются.

Вычитание двух чисел в числовой строке является мерой расстояния между ними.Таким образом, в C вычитание кода символа для «0» из символа для любого десятичного знака представляет собой расстояние между цифрой и «0», которое является числовым значением цифры.

'9' - '0'

равно 9 из-за требований в C для битовых комбинаций для кодов символов и битовых комбинаций для целых чисел.

Примечание: двоичное представление в целом не очень удобно для человека.Он используется, когда шестнадцатеричный код скрывает детали обсуждения.

Примечание: C не требует ASCII.ASCII - это просто один набор символов и кодировка символов, которые удовлетворяют требованиям C.Существует множество наборов символов, которые являются надмножествами и совместимы с ASCII.Вы, вероятно, используете один из них.

0 голосов
/ 31 марта 2019

Попробуйте этот пример программы, он показывает, как ASCII-вход преобразуется в двоичное целое число и обратно.

#include <stdio.h>
int main()
{
    int myInteger;
    printf("Enter an integer: ");
    scanf("%d",&myInteger);  
    printf("Number = %d",myInteger);
    return 0;
}

Это немного грубо и никак не обрабатывает неверный ввод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...