28.04.2018, 19:38
|
Новичок на форуме
|
|
Регистрация: 28.04.2018
Сообщений: 1
|
|
Помогите с заданием
Дан размер файла в гигабайтах(произвольно). Расчитать сколько в нем мегабайтов, килобайтов, байтов. Зарание спасибо
|
|
28.04.2018, 20:07
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
Naksion, каким образом Вы получаете файл?
|
|
29.04.2018, 01:46
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
в нем мегабайтов (* 1024), килобайтов (* 1024 * 1024), байтов (* 1024 * 1024 * 1024)
а может и не 1024, а 1000, кто знает как правильно? вроде как 1024 это гибибайты, мебибайты, кибибайты.
Последний раз редактировалось Rise, 29.04.2018 в 02:09.
|
|
29.04.2018, 02:55
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Rise
|
а может и не 1024, а 1000, кто знает как правильно?
|
Это двоичная система, единица измерения файлов байт - 8 бит, все остальное от нее - 2 в степени N, а не 1000. Вот только не может быть в нем мегабайтов (* 1024), так как размер возвращается всегда в байтах, остальное получаем делением.
|
|
29.04.2018, 03:39
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Причем тут Гугл, это я так выразился некорректно, что получилось ... )
Размер файла это всегда байты, далее считаем делением, а так как байт, то отсюда и 1024, а не 1000.
Ну естественно, чтобы узнать младшее от старшего нужно умножать на те же 1024.
PS. Кстати, для последовательного канала младшая единица уже бит, потому как последовательно, отсюда и скорость Кбит/сек, Мбит/сек. Хотя передача всегда байта, плюс может быть передаваться и девятый бит четности, плюс передаются старт/стоп биты.
Последний раз редактировалось laimas, 29.04.2018 в 03:52.
|
|
29.04.2018, 04:05
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
Сообщение от laimas
|
так как байт, то отсюда и 1024, а не 1000
|
Так то да, но по СИ мега- и кило- это * 1000, десятичная система.
|
|
29.04.2018, 04:48
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Rise
|
но по СИ мега- и кило- это * 1000
|
К двоичной арифметике это отношения не имеет. Все от разрядности. Например, для четырех разрядных систем это ниббл (полубайт), затем восьми разрядные - байты, и хотя уже 64 разрядные системы в ходу, но единица измерения, это байты.
Существуют понятия, такие например как машинное слово, но измерять такой величиной не очень удобно. Ближайшее же к 1000 значение как 2 в степени N, это 1024, это и есть кило в двоичной системе - 2 ^ 10.
А, например, существует семейство микроконтроллеров Microchip, у которых память программ также исчисляется в килобайтах, но при этом команды фиксированы по длине и могут быть 12, 14 битными.
Последний раз редактировалось laimas, 29.04.2018 в 05:06.
|
|
|
|