10(10) =2^3+2^1=1010(2) 15(10) = 2^3+2^2+2^1+2^0=8+4+2+1=1111(2) 1010(2) в обратном коде - изменяете 0 на 1, 1 на 0 -> 11110101(2) - обратный код дополнительный код - это к обратному добавить 1 -> 11110110(2) - дополнительный код отрицательные числа хранятся в дополнительном коде 15(10) = 1111(2), обратный код к 1111(2) будет 11110000(2), дополнительный - 11110001(2) -15(10) = 11110001(2), дополнительный код к -15(10) будет само число 15 обратный к -15(2) -> 00001110(2) , добавляем 1 -> 00001110(2) +1 = 00001111(2) = 15(10)
Самое принципиальное отличие: это тип носителя. Во флешках - это микросхема памяти или набор из таких микросхем, а обычный жесткий диск (не гибридный и не SSD) - это набор дисковых пластин со специальной поверхностью, восприимчивой к магнитному полю. А так данные разбиваются на биты или группы битов и хранятся в специальных ячейках носителя, а контроллер носителя определяет работу диска при поступлении команды, например, на чтение или на запись. Если нужно ответить более развернуто - смотрим в спецальных справочниках и энциклопедиях.
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
using namespace std;
int main()
{
srand(time(0));//time(0) вернет текущее кол-во секунд,побуждая функцию srand() передавать
//разное значение sedd для функции rand() при каждом запуске программы.
int arr[10] = {}; // Создали массив из 10 элементов
for (int i = 0; i < 10; i++)// цикл для заполнения массива
{
arr[i] = 1 + (rand() % 20);//делаем чтобы значения были до 20
if ((arr[i] % 2) == 0) // проверяем на четность
{
cout << arr[i] << endl;//если четно ,то выводим на экран
}
}
_getch(); // пауза
return 0;
}
Объяснение: