|
Занимательная математика ... почему так? | ☑ | ||
---|---|---|---|---|
0
lamme
01.12.17
✎
12:51
|
вот формула
http://clip2net.com/s/3PXPANF в отладичке итоги .. т.е. 416,48 /3,5*3,5 = 416,4800000000000000000000000001 это вот как так? |
|||
1
FIXXXL
01.12.17
✎
12:54
|
(0) а так 416,48 /(3,5/3,5)
|
|||
2
FIXXXL
01.12.17
✎
12:54
|
(1) + ну и почитай про порядок выполнения действий что ли
|
|||
3
EugeniaK
01.12.17
✎
12:55
|
И что тут странного?
416,48 на 3,5 не делится. Получается длинный хвост цифр. Кусочек хвоста округляется и обрезается. |
|||
4
lamme
01.12.17
✎
12:55
|
||||
5
lamme
01.12.17
✎
12:56
|
а так
СуммаВДокументе / (КоличествоВдокументе/ Стртовар.КоличествоВМашине) = 416,18 ровно |
|||
6
Волшебник
модератор
01.12.17
✎
12:56
|
2*2 = 3.99999999999999999999999999999999999999998
|
|||
7
Вафель
01.12.17
✎
12:56
|
Поэтому всегда нужно сначала умножать, а потом уже делить
|
|||
8
lamme
01.12.17
✎
12:58
|
(2)
сначала деление умножение, потом сложение вычитание в данном примере Исходное число поделили и умножили на одно и тоже число. И в итоге - полуилис нечто третье это все равно как 4/2*2 =4.00000000000000000000000000000000000001 |
|||
9
lamme
01.12.17
✎
12:58
|
(7)
почему я может в школе чего пропустил ... |
|||
10
Вафель
01.12.17
✎
12:59
|
(9) Ибо округление. Компьютер не умеет работать с бесконечными дробями
|
|||
11
lamme
01.12.17
✎
13:00
|
короче .. один случай на 1000.
и он выпал |
|||
12
wondkind
01.12.17
✎
13:02
|
(11) и еще выпадет
|
|||
13
Волшебник
модератор
01.12.17
✎
13:02
|
(9) Ты пропустил компьютерную арифметику.
Рассмотрим пример. Если в простых дробях (1/3) х 3 = 1, то в десятичных 0.3333 х 3 = 0.9999. В двоичной машинной арифметике происходит аналогичная ситуация. Но если человек сознает, что результат 0.9999... - та же единица, то компьютер этого не понимает. В результате в компьютерной арифметике (1 / 3) х 3 не равняется единице. https://znanija.com/task/14874390 |
|||
14
serpentt
01.12.17
✎
13:03
|
(7) Вы не правы
"Выполнение действий по порядку слева направо объясняется тем, что у нас принято вести записи слева направо" а не сначало умножение а потом деление По вашей логиге ответ в примере 6:2*8:3 будет неправильным |
|||
15
Вафель
01.12.17
✎
13:04
|
(14) не понял что ты хотел сказать.
|
|||
16
Вафель
01.12.17
✎
13:05
|
Я имел ввиду - что нужно записывать, так чтобы вначале стояло умножение
|
|||
17
Вафель
01.12.17
✎
13:07
|
Ибо (а*б)/с на самом деле есть
Окр(Окр(а*b)/с) и это не тоже самое, что окр(окр(а/с)*b) |
|||
18
serpentt
01.12.17
✎
13:09
|
(16) это хорошо что ТЫ имел ВВИДУ,
написал ТЫ "...Поэтому всегда нужно сначала умножать, а потом уже делить" Я же не знал ЧТО ты имел ввиду |
|||
19
serpentt
01.12.17
✎
13:11
|
(16) Порядок действий зависит от поставленной задачи
|
|||
20
MM
01.12.17
✎
13:11
|
(7) Если сначала много раз умножать, то есть риск получить переполнение.
|
|||
21
0xFFFFFF
01.12.17
✎
13:15
|
(13) мне кажется этот пост - большой удар для ТСа...
|
|||
22
Lama12
01.12.17
✎
13:15
|
(0) Что ж ты творишь :-) Сначала умножение, потом деление. Это же компьютер... Он "тупой".
|
|||
23
art commander
01.12.17
✎
13:17
|
(0) Еще один... Все вычисления в компьютере не точные. Это азы.
|
|||
24
sansys
01.12.17
✎
13:17
|
(0) Делайте сначала умножение, а потом деление и будет вам счастье
416.48/3.5*3.5 = 416,480000000000000000000000000000000001 416.48*3.5/3.5 = 416,48 Легко проверить в отладчике 1С |
|||
25
Вафель
01.12.17
✎
13:19
|
(20) Ну это если ты торгуешь спичками поштучно за зимбабвийские доллары
|
|||
26
Джо-джо
01.12.17
✎
13:22
|
(10) (13) (22)
А Виндовый куркулятор нормально считает 1/3*3=1 |
|||
27
serpentt
01.12.17
✎
13:22
|
||||
28
Джо-джо
01.12.17
✎
13:22
|
это не компьютер не умеет, это 1С не умеет
|
|||
29
sansys
01.12.17
✎
13:28
|
(28) Всё 1С умеет.
Почему люди оперируя с бесконечными дробями удивляются округлению, а размещая 10 яблок в 9 коробок не удивляются факту, что в одной коробке оказывается 2 яблока при этом в других коробках всего одно!!! |
|||
30
Волшебник
модератор
01.12.17
✎
13:30
|
(28) 1С умеет к датам прибавлять миллисекунды.
Например, '2017-12-01' + 0.123 - '2017-12-01' = 0,123 |
|||
31
Быдло замкадное
01.12.17
✎
13:31
|
ты еще 10 на 3 подели а потом на 3 умножь...
|
|||
32
art commander
01.12.17
✎
13:31
|
(26) Это потому что ты - не программист. И пользуешься нубскими режимами виндового калькулятора, которые скрывают горькую правду.
|
|||
33
Джо-джо
01.12.17
✎
13:35
|
(32) тыжпрограммист, так поставь ОКР и скрывай горькую правду не хуже нубского калькултора
|
|||
34
art commander
01.12.17
✎
13:37
|
(33) Не оскорбляй калькулятор. Он не нубский. У него режим "программист" есть, которым ты не пользуешься.
|
|||
35
art commander
01.12.17
✎
13:40
|
+(34) А по существу, ты не прав. Компьютер не умеет делать точные вычисления. В некоторых случаях одна неточность (ОКР) может ликвидировать другую неточность (10/3*3). Но сути дела это не меняет.
|
|||
36
Волшебник
модератор
01.12.17
✎
13:41
|
(35) Если баланс не сходится, значит в нём ошибка.
Если сходится, значит ошибки две. |
|||
37
Optan
01.12.17
✎
13:48
|
Еще занимательная математика (правда не слишком хитрая):
Пусть a=b 1. Умножаем на а --> a*a=a*b 2. Прибавляем а*а --> 2*a*a=а*а+a*b 3. Отнимаем 2*a*b --> 2*a*a-2*a*b=a*a-a*b 4. Выносим за скобки 2--> 2(a*a-a*b)=(a*a-a*b) 5. Сокращаем на a*a-a*b --> 2=1 |
|||
38
Волшебник
модератор
01.12.17
✎
13:49
|
(37) Нельзя сокращать на ноль.
|
|||
39
Ненавижу 1С
гуру
01.12.17
✎
13:55
|
кстати интересно
как внутри 1С представлены числа? там же не тупо double |
|||
40
СамыйУмный
01.12.17
✎
13:56
|
(0) Сразу видно что не изучал дискретную математику
|
|||
41
Optan
01.12.17
✎
13:56
|
Еще занимательная математика-2:
Вы прораб на стройке, полной кирпичей. У вас есть линейка, компьютер, с установленной 1С (УПП) и виндовым калькулятором :) Поставлена задача: узнать диагональ кирпича. Дополнительное условие: нельзя пользоваться компом, калькулятором, телефоном и т.д. --> любыми расчетами - только измерения только хардкор... |
|||
42
Волшебник
модератор
01.12.17
✎
13:57
|
(39) Numeric(10,3)
|
|||
43
dmpl
01.12.17
✎
13:58
|
(34) В нем проблема решена радикально: округление до целых всегда ;)
|
|||
44
Джо-джо
01.12.17
✎
14:03
|
А вы знали, что виндовый калькулятор не может разделить 196 на 14?
|
|||
45
Волшебник
модератор
01.12.17
✎
14:06
|
(44) Просто надо 2 раза Enter нажать.
|
|||
46
СамыйУмный
01.12.17
✎
14:09
|
(44) У тебя винда пиратская
|
|||
47
Dotoshin
01.12.17
✎
14:10
|
(0) Попробуй деление и умножение местами поменять
https://s8.hostingkartinok.com/uploads/images/2017/12/27a7285bd7baa96294a96a83c6db516e.png |
|||
48
Ненавижу 1С
гуру
01.12.17
✎
14:17
|
(42) пошутил?
я серьезно они же могут как-то большие числа хранить и числа с большой точностью |
|||
49
Ненавижу 1С
гуру
01.12.17
✎
14:17
|
+(48) я про оперативную память
|
|||
50
art commander
01.12.17
✎
14:18
|
(41) Неправильно ты задачу рассказываешь. надо так:
"По недосмотру прораба, на стройке завелись кирпичи..." |
|||
51
art commander
01.12.17
✎
14:20
|
(49) Ты думаешь они свою библиотеку вычислений писали? Тупо Double конечно.
|
|||
52
Dotoshin
01.12.17
✎
14:20
|
||||
53
Волшебник
модератор
01.12.17
✎
14:21
|
(48) Открой для себя тип Decimal/Numeric и не путай их с float/double
https://msdn.microsoft.com/ru-ru/library/ms187746(v=sql.120).aspx |
|||
54
Адинэснег
01.12.17
✎
14:21
|
(6) но это не точно
|
|||
55
an0521
01.12.17
✎
14:22
|
(41) Стандарт кирпича 250х120х65 мм это любой прораб без линейки и 1С знает. Тебе какую диагональ?
|
|||
56
Dotoshin
01.12.17
✎
14:26
|
(55) ту которая внутри конечно же
http://allforchildren.ru/ex/img/112.gif |
|||
57
Джо-джо
01.12.17
✎
14:29
|
(55)
У кирпича одна диагональ Диагональ - прямая линия, соединяющая вершины двух углов, не прилежащих к одной стороне многоугольника, или вершины многогранника, не лежащие в одной плоскости |
|||
58
Адинэснег
01.12.17
✎
14:29
|
ой, кажется у вас память утекла...
|
|||
59
Адинэснег
01.12.17
✎
14:32
|
раз в месяц эту ссылку здесь размещают...
https://habrahabr.ru/post/112953/ заметьте, там ни слова про тупую 1С |
|||
60
an0521
01.12.17
✎
14:50
|
||||
61
Ненавижу 1С
гуру
01.12.17
✎
15:05
|
(51) и double умеет хранить точное значение 2^100?
а 1С умеет |
|||
62
Ненавижу 1С
гуру
01.12.17
✎
15:06
|
(53) я ничего не путаю
я понимаю что там арифметика с фиксированной запятой, но как она устроена конкретно в 1С? |
|||
63
Веселый собака
01.12.17
✎
15:08
|
А взять открыть серверную базу и посмотреть? )
|
|||
64
Ненавижу 1С
гуру
01.12.17
✎
15:12
|
(63) я про хранение чисел в оперативной памяти
|
|||
65
Mr_Rm
01.12.17
✎
16:07
|
||||
66
Михаил Козлов
01.12.17
✎
16:21
|
(39) Не знаю. как представлены, но мантисса может быть 32 (а, может, и больше).
От нечего делать как-то погонял системы ЛУ Годунова (это примеры плохо обусловленных матриц). В 1С решение совпадало с точным до размерности 66. На Паскале: 18 с REAL и 23 с DOUBLE. |
|||
67
s-n-a-y
01.12.17
✎
16:59
|
(26) значит он парсить умеет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |