очень Задание 2.
Приведите полное решение следующих заданий:
Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления. ( )
а) 500(10);
б) 675(10).
Перевести данное число в десятичную систему счисления. ( )
а) 1100001001(2);
б) 1100100101(2).
1) ответ:
2^i=n
2^i=32
i=5
один символ=5 бит
2) 64=2⁶
следовательно ,требуется 6-разрядный двоичный код
3) 2^i=n, n = 16
2^i=16
i=4 бит
50 * 4 = 200 бит
200: 8 = 25 байт
4) используем формулу 2^i=n. так как в алфавите 16 символов (n=16), то 2^i=16, следовательно i=4. 4 бита весит один символ. 384*4=1536. 1536 бит весит сообщение из 384 символов по 4 бита каждый. переводим биты в байты. 1 байт=8 бит, 1536/8=192 байта. переводим байты в килобайты. 1 килобайт=1024 байт. 192/1024=0,1875 килобайт весит все сообщение. так что лучше ответ оставить в байтах (192 байта).
#include <iostream>
#include <vector>
using namespace std;
void make_matrix(vector<vector<int>> &v){
int n = v.size(), m = v.front().size(), cur = 0;
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
v[j][i] = cur;
cur++;
}
}
}
void print_matrix(vector<vector<int>> &v){
int n = v.size(), m = v.front().size();
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++)
cout << v[i][j] << " ";
cout << "\n";
}
}
signed main(){
int n, m;
cin >> n >> m;
vector<vector<int>> a(n, vector<int> (m));
make_matrix(a);
print_matrix(a);
}