RosettaCodeData/Task/Bitwise-operations/Haskell/bitwise-operations.hs

25 lines
634 B
Haskell
Raw Permalink Normal View History

2013-04-10 16:19:29 -07:00
import Data.Bits
bitwise :: Int -> Int -> IO ()
2017-09-23 10:01:46 +02:00
bitwise a b =
mapM_
print
[ a .&. b
, a .|. b
, a `xor` b
, complement a
, shiftL a b -- left shift
, shiftR a b -- arithmetic right shift
, shift a b -- You can also use the "unified" shift function;
-- positive is for left shift, negative is for right shift
, shift a (-b)
, rotateL a b -- rotate left
, rotateR a b -- rotate right
, rotate a b -- You can also use the "unified" rotate function;
-- positive is for left rotate, negative is for right rotate
, rotate a (-b)
]
2013-04-10 16:19:29 -07:00
2017-09-23 10:01:46 +02:00
main :: IO ()
2013-04-10 16:19:29 -07:00
main = bitwise 255 170