На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 88 89 [90] 91 92 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Т.е. у вас / может вообще не скомпилироваться? Нет уж спасибо.
      Цитата --Ins-- @
      Цитата Мяут-Настоящий @
      Зато если я на своем любимом 8051 напишу паскальное b / c, он


      не скомпилирует для целочисленного выражения ;)

      А как поделить целочисленно? Я забыл уже...
        Цитата Radagast @
        в Делфи это делается оператором div кажись
        :yes:
          Цитата D_KEY @
          Вообще-то / в питоне всегда возвращает float. Хотя... может быть я чего-то забыл...

          http://docs.python.org/release/2.2.3/whatsnew/node7.html
            Цитата Мяут-Настоящий @
            Т.е. у вас / может вообще не скомпилироваться?


            Естественно, если ты хочешь целому присвоить результат деления тебе скажут: мальчик, не торопись, подумай. И ты, подумав, вместо / пишешь div - целочисленное деление. И все работает правильно. В твоем же случае ты меняешь int на float, компилятор молча проглатывает и ты счастливый несешь прогу заказчику. Он счастливый ее принимает. А через день с рельс сходит состав :wall:
              вот еще парочка вариантов, для статистики:
              Ocaml
              ExpandedWrap disabled
                [ ~ ] ocaml  
                        Objective Caml version 3.11.2
                 
                # let a = 20.0 ;;
                val a : float = 20.
                # let b = 10 ;;
                val b : int = 10
                # let c = 50 ;;
                val c : int = 50
                # let d = 10.0 ;;
                val d : float = 10.
                # let e = a +. (float_of_int (b / c)) *. d ;;
                val e : float = 20.
                #


              Ruby
              ExpandedWrap disabled
                [ ~ ] irb1.9.1
                irb(main):001:0> a = 20.0
                => 20.0
                irb(main):002:0> b = 10
                => 10
                irb(main):003:0> c = 50
                => 50
                irb(main):004:0> d = 10.0
                => 10.0
                irb(main):005:0> a + (b / c) * d
                => 20.0


              в общем вариант 20.0 пока лидирует
                Цитата Мяут-Настоящий @
                Цитата D_KEY @
                Вообще-то / в питоне всегда возвращает float. Хотя... может быть я чего-то забыл...

                http://docs.python.org/release/2.2.3/whatsnew/node7.html

                http://docs.python.org/release/3.1/tutoria...on.html#numbers
                  мне больше нравится такой вариант:
                  ExpandedWrap disabled
                    procedure test is
                      a,d,e:float;
                      b,c:Integer;
                    begin
                      a:=20.0;
                      b:=10;
                      c:=50;
                      d:=10.0;
                      e:=a+float(b/c)*d;
                    end;

                  ADA
                    C-подобный калькулятор C-подобен
                    ExpandedWrap disabled
                      myaut@myaut-ws:/tmp> bc                                                                                                                    
                      bc 1.06                                                                                                                                    
                      Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.                                                                        
                      This is free software with ABSOLUTELY NO WARRANTY.                                                                                          
                      For details type `warranty'.                                                                                                                
                      20.+(10/50)*10.
                      20
                      korvin, в ocaml все-таки пришлось все написать явно. руби, как и шарп и др. следуют традиции С.
                        Цитата D_KEY @
                        korvin, в ocaml все-таки пришлось все написать явно. руби, как и шарп и др. следуют традиции С.

                        ну ок: 50/50
                          лично мне нравится вариант из третьего питона - отдельная операция для целочисленного деления. Еще в smalltalk, если память мне не изменяет есть обычные дроби :)
                            Цитата D_KEY @
                            лично мне нравится вариант из третьего питона


                            Это вариант из первого паскаля, а не из третьего питона :D
                              ExpandedWrap disabled
                                a = 20.
                                d = 10.
                                b = 10
                                c = 50
                                >>> a + (b/c) * d
                                22.0
                                >>> a + (b//c) * d
                                20.0


                              Добавлено
                              Цитата --Ins-- @
                              Цитата D_KEY @
                              лично мне нравится вариант из третьего питона


                              Это вариант из первого паскаля, а не из третьего питона :D

                              Я не уверен, что это появилось в паскале :)
                              А для С достаточно преобразовать аргумент к float ;)
                                Цитата D_KEY @
                                >>> a + (b//c) * d


                                D_KEY, так ведь это же совсем другое дело, правда, D_KEY? ;)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 88 89 [90] 91 92 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1835 ]   [ 15 queries used ]   [ Generated: 30.07.26, 03:54 GMT ]