my $z=17; my $m; { no warnings; ## to suppress warning ## "Hexadecimal number > 0xffffffff non-portable" $m= 0xFFFFFFFF80000000&$z? 0xFFFF800000000000&$z? 0xFF80000000000000&$z? 0xF800000000000000&$z? 0xE000000000000000&$z? 0xC000000000000000&$z? 0x8000000000000000&$z? 0 : 1: 2 : 0xF000000000000000&$z? 3: 4 : 0xFE00000000000000&$z? 0xFC00000000000000&$z? 5: 6 : 0xFF00000000000000&$z? 7: 8 : 0xFFF8000000000000&$z? 0xFFE0000000000000&$z? 0xFFC0000000000000&$z? 9: 10 : 0xFFF0000000000000&$z? 11: 12 : 0xFFFE000000000000&$z? 0xFFFC000000000000&$z? 13: 14 : 0xFFFF000000000000&$z? 15: 16 : 0xFFFFFF8000000000&$z? 0xFFFFF80000000000&$z? 0xFFFFE00000000000&$z? 0xFFFFC00000000000&$z? 17: 18 : 0xFFFFF00000000000&$z? 19: 20 : 0xFFFFFE0000000000&$z? 0xFFFFFC0000000000&$z? 21: 22 : 0xFFFFFF0000000000&$z? 23: 24 : 0xFFFFFFF800000000&$z? 0xFFFFFFE000000000&$z? 0xFFFFFFC000000000&$z? 25: 26 : 0xFFFFFFF000000000&$z? 27: 28 : 0xFFFFFFFE00000000&$z? 0xFFFFFFFC00000000&$z? 29: 30 : 0xFFFFFFFF00000000&$z? 31: 32 : 0xFFFFFFFFFFFF8000&$z? 0xFFFFFFFFFF800000&$z? 0xFFFFFFFFF8000000&$z? 0xFFFFFFFFE0000000&$z? 0xFFFFFFFFC0000000&$z? 33: 34 : 0xFFFFFFFFF0000000&$z? 35: 36 : 0xFFFFFFFFFE000000&$z? 0xFFFFFFFFFC000000&$z? 37: 38 : 0xFFFFFFFFFF000000&$z? 39: 40 : 0xFFFFFFFFFFF80000&$z? 0xFFFFFFFFFFE00000&$z? 0xFFFFFFFFFFC00000&$z? 41: 42 : 0xFFFFFFFFFFF00000&$z? 43: 44 : 0xFFFFFFFFFFFE0000&$z? 0xFFFFFFFFFFFC0000&$z? 45: 46 : 0xFFFFFFFFFFFF0000&$z? 47: 48 : 0xFFFFFFFFFFFFFF80&$z? 0xFFFFFFFFFFFFF800&$z? 0xFFFFFFFFFFFFE000&$z? 0xFFFFFFFFFFFFC000&$z? 49: 50 : 0xFFFFFFFFFFFFF000&$z? 51: 52 : 0xFFFFFFFFFFFFFE00&$z? 0xFFFFFFFFFFFFFC00&$z? 53: 54 : 0xFFFFFFFFFFFFFF00&$z? 55: 56 : 0xFFFFFFFFFFFFFFF8&$z? 0xFFFFFFFFFFFFFFE0&$z? 0xFFFFFFFFFFFFFFC0&$z? 57: 58 : 0xFFFFFFFFFFFFFFF0&$z? 59: 60 : 0xFFFFFFFFFFFFFFFE&$z? 0xFFFFFFFFFFFFFFFC&$z? 61: 62 : 0xFFFFFFFFFFFFFFFF&$z? 63: 64; }