Так происходит потому, что данные на SSD и HDD накопителях компьютера измеряются в двоичной системе исчисления, в виде единиц и нулей, а не в десятеричной, как мы привыкли. Вся разница возникает, когда производитель дисков для удобства указывает размер в десятеричной системе.
Из-за того, что в 1 Кб (Килобайт) = 1024 байт и возникает такая путаница.
Пойдем дальше, и посчитаем значения для более высоких значений:
1 Мб (Мегабайт) = 1024 Кб
1 Гб (Гигабайт) = 1024 Мб
1 Тб (Терабайт) = 1024 Гб
Для начала Гигабайты переведем в байты. Для этого потребуется три раза умножить на 1024. А дальше разделить на 1000 три раза. Итого: 16Гб*1024*1024*1024*1000*1000*1000=14,9 Гб.
Именно столько будет видеть Ваш компьютер.
Объяснение:
#include <stdlib.h>
int main()
{
int n=10, k;
int a[n];
int max = 20, min = -20;
int sum=0;
printf("k (<=10) = "); scanf("%d",&k);
srand (time(NULL));
for (int i=0; i<n; i++) {
a[i] = (float) rand() / RAND_MAX*(max-min)+min;
printf ("%d ", a[i]);
}
printf("\n");
for (int i = 0; i<k; i++) sum+=a[i];
printf("sum (1..%d) = %d\n", k,sum);
for (int i=1; i<=n-k; i++) {
sum = sum-a[i-1]+a[i+k-1];
printf("sum (%d..%d) = %d\n", i+1, i+k, sum);
}
return 0;
}
Пример:
k (<=10) = 5-10 1 -11 -10 16 6 -1 -15 -19 9
sum (1..5) = -14
sum (2..6) = 2
sum (3..7) = 0
sum (4..8) = -4
sum (5..9) = -13
sum (6..10) = -20