It is simply a "definition." ASCII defines the relationship between integer values ββand characters. For implementation, there is a table (you do not see it) that performs this translation.
EDIT:
Computers are just 0/1. A stream of characters is just a bunch of streams 0/1: 0110010101 ... There is a contract between a person and a computer : 8 bits are represented as a character (well, there is Unicode, UTF-8, etc.). And "A" - 65, etc.
In C / C ++ and any other languages, strings are treated as whole arrays. Only when you need to display strings do these numbers "translate" into a character. This translation is carried out either by hardware or software:
- If you write a function that draws a character, you are responsible for drawing "A" when the input signal is 65.
- , DOS, "A" 65. . ( , , , . , Norton DOS, NDD/NCD, , , ASCII-.)
. , . : 0 1. , 0 1. , : , 101010 "", 1100 "mov". "add eax, 1", 0/1s.