|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.11.2008, 17:40 | #1 |
Пользователь
Регистрация: 02.03.2008
Сообщений: 12
|
Перевод из Кб в Мб и т.д.
Доброго времени суток.
Уважаемые программисты, помогите составить программу на TP 7, которая будет переводить байты в килобайты, килобайты в гигабайты, как можно больше функций. Если Вас не затруднит, напишите хотя бы одну операцию, дальше я справлюсь по аналогии. Знаю, задача довольна простая, но очень давно не сидел за TP, подзабыл и запутался) Заранее спасибо! |
16.11.2008, 19:42 | #2 |
Пользователь
Регистрация: 02.03.2008
Сообщений: 12
|
Времени не очень много, если возможно, побыстрее.. Не хочу наглеть, но все же)
|
16.11.2008, 20:13 | #3 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
1 Кб = 1024 б
1 Мб = 1024 Кб и т.д.
Life is too short, play more...
Как правильно задавать вопросы |
16.11.2008, 20:41 | #5 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
КБ это 2 в 10 степени байт, МБ - 2^20, ГБ - 2^30 и т.д.
Код:
|
16.11.2008, 20:44 | #6 |
Пользователь
Регистрация: 02.03.2008
Сообщений: 12
|
Вот, как раз что, что я и хотел видеть) Большое спасибо, но тему не закрываю))
|
18.11.2008, 18:03 | #7 |
Пользователь
Регистрация: 02.03.2008
Сообщений: 12
|
К сожалению, немного не тот результат, которого я ожидал.
Нельзя ли привести другой тип данных? В Real'e очень много лишнего) За это я и не люблю вещественные типы Результат приложил. Последний раз редактировалось okgo; 18.11.2008 в 18:06. |
18.11.2008, 18:44 | #8 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Если размер в байтах всегда целый, то этот же размер в килобайтах, в мегабайтах и гигабайтах может быть дробным, поэтому в программе и используется тип переменных real. Округляйте результат до необходимого количества знаков после запятой.
Вот, поправил вашу программу. Результаты печатаются с двумя знаками после запятой. Код:
(1 shl 10) - это сдвиг влево на 10 разрядов. Сдвиг на 1 разряд эквивалентен умножению на 2. Сдвиг единицы влево на 10 разрядов эквивалентен умножению на 2 в 10 степени. Вы же в программе заменили бинарный сдвиг на простое деление, что в корне не верно. |
18.11.2008, 21:03 | #9 |
Пользователь
Регистрация: 02.03.2008
Сообщений: 12
|
Ой, не заметил) Спасибо, пойду доделывать.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевод кода | ELL | Помощь студентам | 0 | 07.06.2008 01:36 |
перевод на русский | Ensoph | Общие вопросы Delphi | 3 | 19.05.2008 10:09 |
Перевод значений | DeDoK | Общие вопросы Delphi | 3 | 19.05.2008 08:39 |
перевод в последовательность | Janette | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 23.03.2008 14:11 |
перевод числа | kommunist | Помощь студентам | 5 | 15.10.2007 22:58 |