Страница: 1 | 2 |
Уважаемые зубры , подскажите как засунуть в переменную громадное число. "факториал от 9999" оно не влазит не в Double, не в Long
Попробуй воспользоваться переменной типа variant (Object для VB.NET) У меня VB6 Variant не влазит (( Попробуй объявить как стринг или лонг Или что-то типа: Dim ix as long*256 Dim ix as integer*256 и т д... Все равно не влазит Ну, тогда создай невилимый TextBox! Немного не понятно- зачем он нужен и как его использовать? это же "переменная" она вставлена в формулу и постоянно меняется. Поясни пожалуйста свою мысль Ну, как я понял, у тебя ГИГАНТСКОЕ число, так? Вот. Если его представить как текст(не только текстбокс, но и стрингом) то можно получить 65536-разрядное число!, но я не пробовал так, может и не получиться. Там мне писали, что можно и 12 гига положить в стринг , а не только 65536 символов!!!!!!!!!!!!! to Morpheus: А потом ты textbox на textbox делить и умножать будешь (а так же др. математические действия)? Когда то (в детстве) делал класс BigNumber, где число содержалось в String и описывал математические действия для этих классов. Что то подобное тебе и надо. По другому наврядли получится. А почему нельзя длинной арифметикой? Считаешь по скольку-нибудь цифр числа (хоть по 1000) и заносишь в массив! Вообще-то, при вычислении чего-либо VB переводит значение String в минимальный допустимый числовой тип. В случае с большими числами это Double, как следствие - максимально возможное значение, хранимое в переменной - 8 байт (в идеале 2^64-1, а если с отрицательными значениями, то 2^63-1). Факториал, я думаю, не вместится. Можешь попробовать запихнуть в массив Double Можно попробовать пихать число в массив поразрядно. Ну yghbvth у тебя есть число 1254, массив A будет такой A[0]=4 A[1]=5 A[2]=2 A[3]=1 Например, теперь тебе надо умножить это число на 5. Берешь поэлементно числа из массива и умножаешь на 10 в степени "индекс этой переменной" и складываешь полученные числа. Т.е. имеем (A[3]*10^3)+(A[2]*10^2)+(A[1]*10^1)+(A[0]*10^0), где A[0],A[1],A[2],A[3] - переменные из массива 0,1,2,3 - индексы переменных Надеюсь подойдет Попробуй такое Decimal variables are stored as 96-bit (12-byte) unsigned integers scaled by a variable power of 10. The power of 10 scaling factor specifies the number of digits to the right of the decimal point, and ranges from 0 to 28. With a scale of 0 (no decimal places), the largest possible value is +/-79,228,162,514,264,337,593,543,950,335. With a 28 decimal places, the largest value is +/-7.9228162514264337593543950335 and the smallest, non-zero value is +/-0.0000000000000000000000000001. Note At this time the Decimal data type can only be used within aVariant, that is, you cannot declare a variable to be of type Decimal. You can, however, create a Variant whose subtype is Decimal using the CDec function. Даже в ASM такого нет (максимум Ten Byte) Определяешь с помощью CDEC В Асме можно все вычисления проводить по своим правилам, и плевать тебе тогда на всякие ограничения типов To Chill: Быстрее будет не по десятиричным разрядам, а по шестнадцатиричным или 256ричным. Процессор быстро работает только со степенями двойки, особенно если показатель степени - сам является такой степенью 2^4, 2^16...
Вопрос: число не влазит в переменную! (я чайник)
Добавлено: 20.06.03 11:09
Автор вопроса: Trusishka | ICQ: 229751913
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
Chill
ICQ: 554200
Вопросов: 101
Ответов: 343
Профиль | | #1
Добавлено: 20.06.03 11:33
Номер ответа: 2
Автор ответа:
Trusishka
ICQ: 229751913
Вопросов: 36
Ответов: 48
Профиль | | #2
Добавлено: 20.06.03 12:47
Номер ответа: 3
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #3
Добавлено: 20.06.03 13:59
Номер ответа: 4
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #4
Добавлено: 20.06.03 14:02
Номер ответа: 5
Автор ответа:
Trusishka
ICQ: 229751913
Вопросов: 36
Ответов: 48
Профиль | | #5
Добавлено: 20.06.03 18:40
Номер ответа: 6
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #6
Добавлено: 21.06.03 10:38
Номер ответа: 7
Автор ответа:
Trusishka
ICQ: 229751913
Вопросов: 36
Ответов: 48
Профиль | | #7
Добавлено: 21.06.03 11:29
Номер ответа: 8
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #8
Добавлено: 21.06.03 12:29
Номер ответа: 9
Автор ответа:
Russian Neo
ICQ: 248318020
Вопросов: 22
Ответов: 195
Web-сайт:
Профиль | | #9
Добавлено: 21.06.03 12:45
Номер ответа: 10
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #10
Добавлено: 21.06.03 13:07
Номер ответа: 11
Автор ответа:
K-00
ICQ: 179750444
Вопросов: 7
Ответов: 20
Профиль | | #11
Добавлено: 21.06.03 14:18
Номер ответа: 12
Автор ответа:
univercal
ICQ: 173084484
Вопросов: 5
Ответов: 76
Web-сайт:
Профиль | | #12
Добавлено: 21.06.03 14:27
Номер ответа: 13
Автор ответа:
Chill
ICQ: 554200
Вопросов: 101
Ответов: 343
Профиль | | #13
Добавлено: 21.06.03 14:39
Номер ответа: 14
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #14
Добавлено: 21.06.03 14:51
Decimal Data Type
Номер ответа: 15
Автор ответа:
univercal
ICQ: 173084484
Вопросов: 5
Ответов: 76
Web-сайт:
Профиль | | #15
Добавлено: 21.06.03 15:08