powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Какой у вас результат ычисления вот этого: 36/-4/3 ?
25 сообщений из 79, страница 2 из 4
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36289867
Фотография Nikolay Kalmarskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36289996
Фотография Saller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSSQL 2008
Код: plaintext
select  36 /- 4 / 3  (Result - 36 )
FireBird 2.5
Код: plaintext
select  36 /- 4 / 3  from rdb$database (Result - 36 )
А в чем должен быть фокус? В том что в некоторых системах анализатор не понимает что пропущены скобки?
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36290030
SallerMSSQL 2008
Код: plaintext
select  36 /- 4 / 3  (Result - 36 )
FireBird 2.5
Код: plaintext
select  36 /- 4 / 3  from rdb$database (Result - 36 )
А в чем должен быть фокус? В том что в некоторых системах анализатор не понимает что пропущены скобки?в том, что в MS SQL приоритет унарной операции обращения знака ("-5") оказался НИЖЕ, чем приоритет деления и умножения! А в MS EXCEL (продукте ТОЙ ЖЕ САМОЙ конторы!) приоритет этой унарной операции ВЫШЕ!
Вы можете объяснить мне, где у них там "играют", а где "рыбу заворачивают" ?
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36290045
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SallerFireBird 2.5
Код: plaintext
select  36 /- 4 / 3  from rdb$database (Result - 36 )
Свежий снапшот возьми

SallerА в чем должен быть фокус? В том, что во всех современных известных мне языках программирования (проверял C, C++, Java и C#) унарные операцие имеют приоритет выше бинарных.
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36290069
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
void main(void)
{
int a;
a = 36/-4/3;

std::cout << a << std::endl;
}

VS2008: -3
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36290344
Andrey Sribnyak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
command com :-)

C:\>set /a 36/-4/3
-3



bash

$((36/-4/3))
bash: -3:

:-)


select @@version
go
SELECT 36/-4/3

Adaptive Server Enterprise/12.5.3/EBF 13061 ESD#5/P/NT (IX86)/OS 4.0/ase1253/1939/32-bit/OPT/Tue Dec 06 00:21:31 2005
-3

select @@version
@@version
'10.0.1.3887'

select 36/-4/3
-3
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36290696
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
google : (36 / (-4)) / 3 = -3
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36291084
leff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так веселее на MSSQL
select 36/-1/3
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36291247
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микро-калькуляторps. интересуют не только результаты в select'ах, но и в интерпретаторах выражений ЯВУ (pascal, c#, powerbuilder, java etc)

erlang:

Eshell V5.7.2 (abort with ^G)
1> 36/-4/3.
-3.0


ocaml:

# 36 / -4 / 3 ;;
- : int = -3

openoffice calc:
-3

haskell (hugs):
Hugs> 36 / -4 /3
-27.0

haskell ghci:
Prelude> 36 / -4 / 3

<interactive>:1:0:
Precedence parsing error
cannot mix `/' [infixl 7] and prefix `-' [infixl 6] in the same infix expression


Prelude> 36/ (-4) /3
-3.0



postgresql:
main=> select 36 / -4 / 3;
?column?
----------
-3
(1 row)
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36291267
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микро-калькулятор,

bash:
$ echo $((36/-4/3))
-3


python:
Python 2.6.4 (r264:75706, Oct 29 2009, 15:38:25)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print 36/-4/3
-3

perl:
perl <<EOF
> print 36/-4/3
> EOF
-3

awk:
echo |awk '{print 36/-4/3}'
-3
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36291324
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Postgresql
Код: plaintext
SELECT  36 /- 4 / 3   AS result;
Код: plaintext
1.
2.
3.
result
------
-3
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36291998
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DB2 LUW 9.5.2:

db2 => values ( 36/-4/3 )

1
-----------
-3
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292011
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микро-калькуляторв том, что в MS SQL приоритет унарной операции обращения знака ("-5") оказался НИЖЕ, чем приоритет деления и умножения! А в MS EXCEL (продукте ТОЙ ЖЕ САМОЙ конторы!) приоритет этой унарной операции ВЫШЕ!
Вы можете объяснить мне, где у них там "играют", а где "рыбу заворачивают" ?

Как "играют" и во что "рыбу заворачивают" описано в документации по продукту. Для MS SQL приоритет операторов здесь: http://msdn.microsoft.com/en-us/library/ms190276.aspx

ЗЫ. Как миниум странно, мерять поведенческие характеристики разных продуктов "конторой", их выпускающей.
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292176
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladlockyhvlad,

так есть.
А как "надо" - вопрос дискуссионный.В стандарте я не нашёл приоритетов операций.
Но, есть ли ещё один язык программирования, в котором унарные плюс\минус имеют приоритет не выше, чем другие арифметические действия ?Да. Когда-то я работал с Btreive SQL (впоследствии Scalable SQL, сейчас - Pervasive SQL).
Так мы много времени тогда ухлопали, пока не выяснили - нет никаких приоритетов операторов!
Всё - слева направо! 3+4*5=60, и точка!
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292189
pkarklin,

спасибо, эту страницу я внимательно читал несколько раз. Но есть ли где-то обоснование того, что там представлено ? Унарная операция, имеющая, как видно по текущему обсуждению, в большинстве языков/сред/СУБД приоритет ВЫШЕ, чем умножение и деление. В СУБД MS SQL она сознательно поставлена в один ряд с бинарными сложением и вычитанием. Это НЕ МОГЛО быть сделано случайно, не верю. След-но, должна быть причина, объяснение. Где-то её можно найти или "тайна сия велика есть" ?
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292201
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может просто они считают знак "-" (минус) не как унарную операцию, а как указатель того, что число отрицательное?

ну выполните следю операцию на бумажке и приведите решение и ответ:

Код: plaintext
 2 /- 4  = 

У здравосмыслящего человека получится -0.5
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292232
Hett,

нет, результат определяется тем, какая точность у операндов в выражении; результирующая точность берётся по максимальной из "встреченных":
select 2/-4 v1, 2/-4. v2, 2./-4 v3, 2./-4. v4

Результат:
v1 v2 v3 v4
0 -0.500000 -0.500000 -0.500000
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292237
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я про другое.
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292250
Hett,

тогда поясните точнее. Как видите, 2/-4 не равно тому, что получится у "здравомыслящего человека"
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292263
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что приоритет обращения знака переменной выше чем унарная операция, вот в чем. :)
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292265
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто не ясно, по какому поводу шумиха.
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292571
HettТо, что приоритет обращения знака переменной выше чем унарная операция, вот в чем. :)извините, не понимаю! чем отличается унарная операция ("-5") от операции обращения знака (всё та же "-5") ?
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292572
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микро-калькуляторВ СУБД MS SQL она сознательно поставлена в один ряд с бинарными сложением и вычитанием. Это НЕ МОГЛО быть сделано случайно, не верю. След-но, должна быть причина, объяснение. Где-то её можно найти или "тайна сия велика есть" ?

Боюсь, что даже если мы выйдем на продуктовую команду, то ничего более конкретного, чем by design , ничего не услышим. Да, и оно, надо?!
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292588
HettПросто не ясно, по какому поводу шумиха.Шумихи никакой нет. Мне показался неожиданным результат выражения (см заголовок топика), я решил утоочнить у сообщества, что получается в других средах. Выяснилось, что приоритет операции "Отрицание" в MS SQL ниже, чем приоритет умножения и деления и эквивалентен приоритету сложения/вычитания. Единственное, что мне неясно - это ЗАЧЕМ так было сделано в MS SQL. Особенно если учесть, что в другом своем продукте они реализовали другой приоритет (в Excel'e у операции "отрицания" он ВЫШЕ, чем у операций умножения и деления).
...
Рейтинг: 0 / 0
Какой у вас результат ычисления вот этого: 36/-4/3 ?
    #36292592
pkarklin,

извините, не видел Ваш ответ - был занят собственным сочинительством :-)
...
Рейтинг: 0 / 0
25 сообщений из 79, страница 2 из 4
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Какой у вас результат ычисления вот этого: 36/-4/3 ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]