Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Помогите с заданием (https://javascript.ru/forum/css-html/73617-pomogite-s-zadaniem.html)

Naksion 28.04.2018 19:38

Помогите с заданием
 
Дан размер файла в гигабайтах(произвольно). Расчитать сколько в нем мегабайтов, килобайтов, байтов. Зарание спасибо:)

ruslan_mart 28.04.2018 20:07

Naksion, каким образом Вы получаете файл?

laimas 29.04.2018 02:55

Цитата:

Сообщение от Rise
а может и не 1024, а 1000, кто знает как правильно?

Это двоичная система, единица измерения файлов байт - 8 бит, все остальное от нее - 2 в степени N, а не 1000. Вот только не может быть в нем мегабайтов (* 1024), так как размер возвращается всегда в байтах, остальное получаем делением.

laimas 29.04.2018 03:39

Причем тут Гугл, это я так выразился некорректно, что получилось ... )

Размер файла это всегда байты, далее считаем делением, а так как байт, то отсюда и 1024, а не 1000.

Ну естественно, чтобы узнать младшее от старшего нужно умножать на те же 1024.

PS. Кстати, для последовательного канала младшая единица уже бит, потому как последовательно, отсюда и скорость Кбит/сек, Мбит/сек. Хотя передача всегда байта, плюс может быть передаваться и девятый бит четности, плюс передаются старт/стоп биты.

laimas 29.04.2018 04:48

Цитата:

Сообщение от Rise
но по СИ мега- и кило- это * 1000

К двоичной арифметике это отношения не имеет. Все от разрядности. Например, для четырех разрядных систем это ниббл (полубайт), затем восьми разрядные - байты, и хотя уже 64 разрядные системы в ходу, но единица измерения, это байты.

Существуют понятия, такие например как машинное слово, но измерять такой величиной не очень удобно. Ближайшее же к 1000 значение как 2 в степени N, это 1024, это и есть кило в двоичной системе - 2 ^ 10.

А, например, существует семейство микроконтроллеров Microchip, у которых память программ также исчисляется в килобайтах, но при этом команды фиксированы по длине и могут быть 12, 14 битными.


Часовой пояс GMT +3, время: 17:11.