Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.lang.java.programmer > #3686

Re: boolean to int : was char to decimal

From markspace <-@.>
Newsgroups comp.lang.java.programmer
Subject Re: boolean to int : was char to decimal
Date 2011-05-06 07:07 -0700
Organization A noiseless patient Spider
Message-ID <iq0vat$ip6$1@dont-email.me> (permalink)
References <92ea64F3avU1@mid.individual.net> <Xns9EDBB8224D5B6vaj4088ianshef@138.125.254.103> <iptlkq$62g$2@lust.ihug.co.nz> <iq0r9c$efs$1@dont-email.me>

Show all headers | View raw


On 5/6/2011 6:00 AM, Jeff Higgins wrote:
> C++ test:
> int test = (int(d2 > e) << 1) + int(d3 > e);
>
> Java test:
> int t = d2 > e ? 1<<1 : 0;
                    ^^^^

Well, this is a 2.  The Java coding conventions say to declare this as a 
constant, I'm not sure that is valuable here though


> int test = d3 > e ? t+1 : t;

   t += d3 > e ? 1 : 0;

The whole thing could be done in one go, of course:

   int test = ((d2 > e) ? 2 : 0) + ((d3 > e) ? 1 : 0);


>
> switch(test)
> { case(0):
> case(1):
> case(2):
> case(3):
> }

Blech.  So the whole point here seems to be to set the 1 bit if d2 > e, 
and set the 0 bit if d2 > e.  Why not just do that?

if( d2 > e ) {
   if( d3 > e ) {
     // case 0
   }  else {
     // case 1
   }
} else {
   if( d3 > e ) {
     // case 2
   }  else {
     // case 3
   }
}

I don't think there's more tests for the CPU in this case.  In fact the 
jump to implement the switch might be more expensive that just a simple 
branch test.  I'd have to know what is motivating the use of switch 
instead of if-else.

Overall, I feel the last one, the if-else in Java, is the most clear and 
maintainable.  Given your apparent confusing trying to translate the C++ 
version literally, I think I'd say that promoting booleans to ints is a 
bad idea, as it produces crap.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-05 01:43 +0100
  Re: char to decimal Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2011-05-04 17:49 -0700
  Re: char to decimal Ian Shef <invalid@avoiding.spam> - 2011-05-05 01:06 +0000
    Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-05 20:03 +1200
      Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 07:03 -0400
        Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-05 11:18 +0000
          Re: char to decimal Patricia Shanahan <pats@acm.org> - 2011-05-05 06:11 -0700
            Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 01:59 +1200
              Re: char to decimal Mayeul <mayeul.marguet@free.fr> - 2011-05-05 16:53 +0200
                Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 11:49 +1200
                Re: char to decimal Mayeul <mayeul.marguet@free.fr> - 2011-05-06 08:46 +0200
                Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 18:43 +1200
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 06:52 -0400
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-06 11:39 +0000
              Re: char to decimal Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-05-05 14:13 -0400
                Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 11:49 +1200
                Re: char to decimal Mayeul <mayeul.marguet@free.fr> - 2011-05-06 08:47 +0200
                Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 18:43 +1200
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 06:54 -0400
                Re: char to decimal Jussi Piitulainen <jpiitula@ling.helsinki.fi> - 2011-05-06 10:30 +0300
              Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:05 -0400
            Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-05 14:56 +0000
              Re: char to decimal Paul Cager <paul.cager@googlemail.com> - 2011-05-05 11:48 -0700
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:06 -0400
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-05 21:28 +0000
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:32 -0400
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-06 08:31 +0000
          Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:04 -0400
      boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-06 09:00 -0400
        Re: boolean to int : was char to decimal Patricia Shanahan <pats@acm.org> - 2011-05-06 06:54 -0700
        Re: boolean to int : was char to decimal markspace <-@.> - 2011-05-06 07:07 -0700
          Re: boolean to int : was char to decimal markspace <-@.> - 2011-05-06 08:30 -0700
        Re: boolean to int : was char to decimal Nigel Wade <nmw-news@ion.le.ac.uk> - 2011-05-06 15:35 +0100
        Re: boolean to int : was char to decimal Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 19:12 +0200
        Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-06 13:26 -0400
          Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-06 21:25 -0400
          Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-06 21:28 -0400
          Re: boolean to int : was char to decimal Michael Wojcik <mwojcik@newsguy.com> - 2011-05-09 12:51 -0400
            Re: boolean to int : was char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-09 23:54 +0000
            Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-09 20:51 -0400
              Re: boolean to int : was char to decimal Michael Wojcik <mwojcik@newsguy.com> - 2011-05-10 11:20 -0400
            Re: boolean to int : was char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-10 13:47 +1200
              Re: boolean to int : was char to decimal Michael Wojcik <mwojcik@newsguy.com> - 2011-05-10 11:02 -0400
                Re: boolean to int : was char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-11 14:05 +1200
                Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-11 08:11 -0400
  Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-05 02:12 +0100
  Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-04 21:59 -0400
    Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-05 16:14 +0100
      Re: char to decimal markspace <-@.> - 2011-05-05 11:20 -0700
        Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:10 -0400
          Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-05 22:00 +0000
            Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 18:20 -0400
          Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-06 10:45 +0100
            Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 06:56 -0400
              Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-06 11:48 +0000
                Re: char to decimal Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-05-06 08:38 -0400
                Re: char to decimal Michael Wojcik <mwojcik@newsguy.com> - 2011-05-06 09:47 -0400
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 12:02 -0400
                Re: char to decimal Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 19:15 +0200
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 14:01 -0400
                Re: char to decimal Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 20:07 +0200
                Re: O/T linguistics (Was: char to decimal) Lew <noone@lewscanon.com> - 2011-05-06 15:28 -0400
                Re: O/T linguistics Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 21:44 +0200
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-06 23:57 +0000
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 12:00 -0400
              Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-06 18:29 +0100
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 14:02 -0400
                Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-07 01:09 +0100
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-07 00:18 +0000
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 21:30 -0400
  Re: char to decimal Roedy Green <see_website@mindprod.com.invalid> - 2011-05-04 22:03 -0700
    Re: char to decimal "Nasser M. Abbasi" <nma@12000.org> - 2011-05-05 01:14 -0700
    Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-05 16:15 +0100

csiph-web