![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 17.03.2011
Сообщений: 43
|
![]()
Всем добрый день... Необходимо перевести Gb -> Mb; Gb -> Kb; Gb -> байты. Но при переводе столкнулся с проблемой, если ввожу 2 Gb то получаю отрицательный результат в байтах, а если к примеру 4 Gb то вообще 0. В чем может быть причина и что не так.
|
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
В Integer результат не умещается, сделай в Int64
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.03.2011
Сообщений: 43
|
![]()
Все равно результат такой же. Здесь же простое умножение, почему получается 0???????
|
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А что простое умножение не может к переполнению привести? Еще как может и именно оно чаще всего и приводит. Да и почитайте, что такое тип Integer, какое максимальное и минимальное значение туда впихнуть можно. Заодно и другие целочисленные типы узнайте какие бывают
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
#5 |
Пользователь
Регистрация: 16.04.2012
Сообщений: 17
|
![]()
диапазон integer -2147483648..2147483647
посчитай чему равны 4GB в калькуляторе виндовом и потом посмотри, влезает в этот диапазон или нет. |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 17.03.2011
Сообщений: 43
|
![]()
По диапазону подходит Int64, но все равно получаю 0, хотя написано что он поддерживает функцию перевода IntToStr. Делаю следующим образом:
var A: int64; begin A:=SpinEdit1.Value * 1024 * 1024 * 1024; Edit3.Text:=SysUtils.IntToStr(A); end; Что я делаю не так? Как мне сделать перевод? Может для этого есть какие нибудь специальные функции? Очень нужна помощь. |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Нужно, что бы один из сомножителей был Int64. Например
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
#8 |
Пользователь
Регистрация: 17.03.2011
Сообщений: 43
|
![]()
Аватар, спасибо тебе большое. наконец-то я получил что хотел.
|
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ байты | Mr.Fank | C++ Builder | 0 | 18.10.2011 21:19 |
Удалить байты | KoBRaAndrey | Общие вопросы Delphi | 3 | 22.01.2010 17:53 |
Байты и биты | Karp_13 | Общие вопросы Delphi | 9 | 10.11.2009 00:33 |
Байты в стринги | FaTaL | Общие вопросы Delphi | 9 | 18.04.2008 15:46 |