В современной вычислительной технике и цифровых системах связи информация обычно представлена в виде последовательности байтов. В том случае, если число не может быть представлено одним байтом, имеет значение, в каком порядке байты записываются в памяти компьютера или передаются по линиям связи. Часто выбор порядка записи байтов произволен и определяется только соглашениями.
В общем случае, для представления числа M, большего 255 (здесь {\displaystyle 255=2^{8}-1}255=2^{8}-1 — максимальное целое число, записываемое одним байтом), приходится использовать несколько байтов (n). При этом число M записывается в позиционной системе счисления по основанию 256:
Набор целых чисел {\displaystyle A_{0},\dots ,A_{n-1}}{\displaystyle A_{0},\dots ,A_{n-1}}, каждое из которых лежит в интервале от 0 до 255, является последовательностью байтов, составляющих M. При этом {\displaystyle A_{0}}A_0 называется младшим байтом, а {\displaystyle A_{n-1}}A_{{n-1}} — старшим байтом числа M.
Поскольку компьютер не адресует отдельных битов (их можно получать только через битовые поля), порядок битов в байте важен только при физической организации хранения и передачи данных, может отличаться от устройства к устройству и прикладному программисту обычно не нужен.
1. При использовании палитры из 2^24 цветов для хранения цвета 1 пикселя используется 24 бита = 3 байта. Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт. X = 8*(K*3/1024 + 128)+2.5*1024 2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта. Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт. X = 20*(K*2/1024 + 128) 8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128) К = 65536 (количество пикселей в рисунке) X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт = 20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
Программа: #include <iostream> using namespace std; int main() { int a=5; int b=4; int c; cout << "Количество яблок у Васи = " << a << "\n"; cout << "Количество яблок у Пети = " << b << "\n"; cout << "Количество яблок у Васи и Пети вместе = " << a+b << "\n"; c=(a+b)/3; cout << "Если разделить на 3-х поровну, то получится = " << c << "\n"; return 0; }
Результат: Количество яблок у Васи = 5 Количество яблок у Пети = 4 Количество яблок у Васи и Пети вместе = 9 Если разделить на 3-х поровну, то получится = 3
В современной вычислительной технике и цифровых системах связи информация обычно представлена в виде последовательности байтов. В том случае, если число не может быть представлено одним байтом, имеет значение, в каком порядке байты записываются в памяти компьютера или передаются по линиям связи. Часто выбор порядка записи байтов произволен и определяется только соглашениями.
В общем случае, для представления числа M, большего 255 (здесь {\displaystyle 255=2^{8}-1}255=2^{8}-1 — максимальное целое число, записываемое одним байтом), приходится использовать несколько байтов (n). При этом число M записывается в позиционной системе счисления по основанию 256:
{\displaystyle M=\sum _{i=0}^{n-1}A_{i}\cdot 256^{i}=A_{0}\cdot 256^{0}+A_{1}\cdot 256^{1}+A_{2}\cdot 256^{2}+\dots +A_{n-1}\cdot 256^{n-1}.}{\displaystyle M=\sum _{i=0}^{n-1}A_{i}\cdot 256^{i}=A_{0}\cdot 256^{0}+A_{1}\cdot 256^{1}+A_{2}\cdot 256^{2}+\dots +A_{n-1}\cdot 256^{n-1}.}
Набор целых чисел {\displaystyle A_{0},\dots ,A_{n-1}}{\displaystyle A_{0},\dots ,A_{n-1}}, каждое из которых лежит в интервале от 0 до 255, является последовательностью байтов, составляющих M. При этом {\displaystyle A_{0}}A_0 называется младшим байтом, а {\displaystyle A_{n-1}}A_{{n-1}} — старшим байтом числа M.
Поскольку компьютер не адресует отдельных битов (их можно получать только через битовые поля), порядок битов в байте важен только при физической организации хранения и передачи данных, может отличаться от устройства к устройству и прикладному программисту обычно не нужен.