ビット演算å
ビット演算åã¯ã€æ•´æ•°ã«ãŠã‘る特定ã®ãƒ“ットをオンã¾ãŸã¯ã‚ªãƒ•ã«ã™ã‚‹ã“ã¨ã‚’
å¯èƒ½ã«ã—ã¾ã™ã€‚ã‚‚ã—左辺値ã¨å³è¾ºå€¤å…±ã«æ–‡å—列ã§ã‚ã£ãŸå ´åˆã«ã¯ãƒ“ット演算åã¯
æ–‡å—ã«å¯¾ã—ã¦ä½œç”¨ã—ã¾ã™ã€‚
表 11-3ビット演算å
例 | åå‰ | çµæžœ |
---|
$a & $b | ãƒ“ãƒƒãƒˆç© |
$aãŠã‚ˆã³$bã®ä¸¡æ–¹ã«ã‚»ãƒƒãƒˆã•れã¦ã„るビット
|
$a | $b | ビット和 |
$aã¾ãŸã¯$bã®ã©ã¡ã‚‰ã‹ã«ã‚»ãƒƒãƒˆã•れã¦ã„るビット
|
$a ^ $b | 排他的論ç†å’Œ |
$aã¾ãŸã¯$bã«ã‚»ãƒƒãƒˆã•れã¦ãŠã‚Šã€ä¸¡æ–¹ã«ã‚»ãƒƒãƒˆã•れã¦ã„ãªã„ビット
|
~ $a | å¦å®š |
$aã«ã‚»ãƒƒãƒˆã•れã¦ã„るビットã¯ã‚»ãƒƒãƒˆã›ãšã€ãã†ã§ãªã„ã‚‚ã®ã¯é€†ã«ã™ã‚‹
|
$a << $b | 左シフト |
$a ã®ãƒ“ットを左㫠$b ビットシフトã™ã‚‹(å„シフト㯠"2ã‚’ã‹ã‘ã‚‹"ã“
ã¨ã‚’æ„味ã—ã¾ã™)
|
$a >> $b | å³ã‚·ãƒ•ト |
$a ã®ãƒ“ットをå³ã« $b ビットシフトã—ã¾ã™ (å„シフト㯠"2ã§å‰²ã‚‹"
ã“ã¨ã‚’æ„味ã—ã¾ã™)
|