Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
GM
-
- programador
-
-
- Сообщения: 1427
- Зарегистрирован: 24.06.2003 (Вт) 15:56
- Откуда: 194.67.52.100
-
GM » 23.11.2005 (Ср) 8:00
У меня переменная с типом Large_Integer, как мне представить ее содержимое в виде cтроки.
В принципе все работает когда число < 2 млрд., нужно просто возвращать LowPart. Но когда число больше надо что-то делать и с HighPart. Не подскажите что?
Для тех кто не знает о Large_Integer:
- Код: Выделить всё
type Large_Integer
LowPart as long
HighPart as long
end type
الفيجوال بيسك الرابح
-
tyomitch
-
- Пользователь #1352
-
-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 23.11.2005 (Ср) 8:04
GM, наводящий вопрос: умеешь делить Large_Integer на 10?
-
GM
-
- programador
-
-
- Сообщения: 1427
- Зарегистрирован: 24.06.2003 (Вт) 15:56
- Откуда: 194.67.52.100
-
GM » 23.11.2005 (Ср) 8:08
GM, наводящий вопрос: умеешь делить Large_Integer на 10?
Не понял, так что-ли
- Код: Выделить всё
li.lowpart =li.lowpart /10
li.highpart =li.highpart /10
Ты имееш ввиду свести число до 2 млрд, или что?
الفيجوال بيسك الرابح
-
tyomitch
-
- Пользователь #1352
-
-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 23.11.2005 (Ср) 8:16
Конечно, не так.
Столбиком вас в школе учили делить?
-
GM
-
- programador
-
-
- Сообщения: 1427
- Зарегистрирован: 24.06.2003 (Вт) 15:56
- Откуда: 194.67.52.100
-
GM » 23.11.2005 (Ср) 8:25
Пока поискал в инете, вот что нашел,
- Код: Выделить всё
Private Function CLargeInt(Lo As Long, Hi As Long) As Double
Dim dblLo As Double, dblHi As Double
If Lo < 0 Then
dblLo = 2 ^ 32 + Lo
Else
dblLo = Lo
End If
If Hi < 0 Then
dblHi = 2 ^ 32 + Hi
Else
dblHi = Hi
End If
CLargeInt = dblLo + dblHi * 2 ^ 32
End Function
Такой вариант будет работать
или лучше делить
Конечно, не так.
Столбиком вас в школе учили делить?
Да, вроде бы
الفيجوال بيسك الرابح
-
tyomitch
-
- Пользователь #1352
-
-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 23.11.2005 (Ср) 8:28
GM писал(а):Пока поискал в инете, вот что нашел,
- Код: Выделить всё
Private Function CLargeInt(Lo As Long, Hi As Long) As Double
Dim dblLo As Double, dblHi As Double
If Lo < 0 Then
dblLo = 2 ^ 32 + Lo
Else
dblLo = Lo
End If
If Hi < 0 Then
dblHi = 2 ^ 32 + Hi
Else
dblHi = Hi
End If
CLargeInt = dblLo + dblHi * 2 ^ 32
End Function
Такой вариант будет работать
или лучше делить
Если тебя не смущает огрубление результата до скольки-то (порядка 12) цифр, то будет работать.
Если тебе нужна точность до байта, тогда нужно делить.
-
d3drm
-
- Астролог
-
-
- Сообщения: 2873
- Зарегистрирован: 29.05.2002 (Ср) 23:34
- Откуда: МаСКвА
-
d3drm » 24.11.2005 (Чт) 1:48
снос разряда вправо?
ХЎ
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, SemrushBot, Yandex-бот и гости: 204