(Log(1000000) / Log(10))

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

(Log(1000000) / Log(10))

Сообщение GAGArin » 18.12.2005 (Вс) 18:31

Вот такой вот вопросик чисто умозрительный ) Попробуйте посмотреть чему равно. Правильно 6 (причем ровно 6 и никак иначе вроде бы)
А вот теперь смотрим int(Log(1000000) / Log(10)) Чему равно? Вот собсно вопрос, а почему так? кто не может проверить там получиться 5
Не могу понять логики. Иногда округляет до меньшего, иногда нет. 9нулей например не округляет... :? Кто обьяснит мне что это?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 18.12.2005 (Вс) 18:36

это еще что!!!

смотри:

Int(Log(1000000) / Log(10)) = 5
Log(1000000) / Log(10) = 6

теперь внимание +)

Log(1000000) \ Log(10) = 7

уроки математики на vbstreets.ru =)
ХЎ

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 18.12.2005 (Вс) 18:46

Пользуемся CInt или CLng!
CInt(Log(10 ^ 6) / Log(10)) = 6 :)
Моду создают модоки, а распространяют модозвоны.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.12.2005 (Пн) 9:15

Потому что десятичное число в общем случае невозможно привести к двоичному без потери точности.
Lasciate ogni speranza, voi ch'entrate.

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 19.12.2005 (Пн) 14:50

alibek
Вот только про этот самый Дабл остается вопрос. Он пишет что он равен 6, а int от него 5. Я бы понял если бы он писал 5.999... ну вобщем вы поняли. и соответственно округлял бы, а так я понять не могу... А вообще если кто-нибудь напишет, в каком виде храниться информация в типе дабл я буду рад.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.12.2005 (Пн) 15:33

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 98

    TopList