Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.226.93.137] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Поделитесь пожалуйста идеями и советами или исходниками, как можно написать калькулятор больших чисел(>= 40 знаков). Ещё такой вопрос есть ли в VB аналог функции "Continue" в паскале, вопрос не в тему может кто знает.
|
Сообщ.
#2
,
|
|
|
также как в школе во 2ом классе учили , в столбик )
|
Сообщ.
#3
,
|
|
|
Только деление столбиком проблематично и муторно писать.
|
Сообщ.
#4
,
|
|
|
Цитата StuBBorn @ Только деление столбиком проблематично и муторно писать. Правильно! Лучше написать тему и ждать пока кто-то за тебя сделает |
Сообщ.
#5
,
|
|
|
Я сложение, вычитание и умножение уже сам написал а деление что-то вообще не получаеться!
|
Сообщ.
#6
,
|
|
|
Цитата StuBBorn @ Я сложение, вычитание и умножение уже сам написал а деление что-то вообще не получаеться! Вообще не получается или таки какой-то код уже есть? |
Сообщ.
#7
,
|
|
|
Цитата StuBBorn @ Я сложение, вычитание и умножение уже сам написал а деление что-то вообще не получаеться! А слабо деление представить как умножение? |
Сообщ.
#8
,
|
|
|
Деления попытка есть но она совсем не рабочая! А вот представить деление как умножени поподробней можно>.
Неужели ни кто не сталкивался с калькулятором >=40 знаков? У меня появилась идея как его написать но нужен аналоги функций "Continue" и "Break" из паскаля в VB, помогите кто знает! |
Сообщ.
#9
,
|
|
|
Аналог Continue:
for(int i = 0; i <= 50; ++i) { if (i % 2) continue; printf("%d", i); } For i = 1 To 50 If (i Mod 2) = 0 Then Debug.Print i End If Next Аналог Break: for(int i = 0; i <= 50; ++i) { if (i == 25) break; printf("%d", i); } For i = 1 To 50 If i = 25 Then Exit For Debug.Print i Next |
Сообщ.
#10
,
|
|
|
Большое спасибо за ответ ALXR!
Пробовал не получилось ругаеться на "Debug.Print i". Чтобы всем проще было вот код на паскале > For i:=da DownTo 0 Do Begin If a[i]=b[i] Then Continue; Fl:=a[i]<b[i]; Break; End; Как он правильно выглядит на VB(Visual Studio .NET 2003)? |
Сообщ.
#11
,
|
|
|
Примерно так:
For i = da To 0 Step -1 If a(i) <> b(i) Then F1 = (a(i) < b(i)) Exit For End If Next |
Сообщ.
#12
,
|
|
|
!= в VB нет, ALXR. Есть <>.
|
Сообщ.
#13
,
|
|
|
Написал я деление с использование строк (столбиком) но оно что-то очень долго считает, 6 разрядов ещё нормально, а вот 40 или > ...
Можно конечно было в одномерный массив пихать число но думаю скорость будет такая же. Помоему можно как-то при помощи "Операции сдвига" в двоичном коде, сдвиг вправо - деление на 2, сдвиг влево - умножение на 2. Кто знает как это можно сделать на VB?. ПОМОГИТЕ! |
Сообщ.
#14
,
|
|
|
Цитата StuBBorn @ Помоему можно как-то при помощи "Операции сдвига" в двоичном коде, сдвиг вправо - деление на 2, сдвиг влево - умножение на 2. Ну это даст тебе только деление на 2,4,8 и т.д. |