Programming Language/go
Go 언어 프로그래밍 - 연산자
김크리
2021. 7. 5. 22:08
변수와 연산
산술연산자
구분 | 연산자 | 연산 | 피연산자타입 |
사칙연산과 나머지 | + | 덧셈 | 정수, 실수 복소수, 문자열 |
- | 뺄셈 | 정수, 실수, 복소수 | |
* | 곱셈 | 정수, 실수, 복소수 | |
/ | 나눗셈 | 정수, 실수, 복소수 | |
% | 나머지 | 정수 | |
비트연산 | & | AND | 정수 |
| | OR | 정수 | |
^ | XOR | 정수 | |
&^ | 비트클리어 | 정수 | |
시프트연산 | << | 왼쪽 시프트 | 정수 << 양의 정수 |
>> | 오른쪽 시프트 | 정수 >> 양의정수 |
비트연산자
A | B | A&B | A|B | A^B | A&^B |
0 | 0 | 0 | 0 | 0 | ^ 연산 수행 후, &연산 수행 |
1 | 0 | 0 | 1 | 1 | |
0 | 1 | 0 | 1 | 1 | |
1 | 1 | 1 | 1 | 0 |
ex6.3.go
package main
import (
"fmt"
)
func main() {
var x int8 = 4
var y int8 = 64
var z int8 = -1
var w uint8 = 128
fmt.Printf("x:%08b x<<2:%08b x<<2: %d\n", x, x<<2, x<<2)
fmt.Printf("y:%08b y<<2:%08b y<<2: %d\n", uint8(y), uint8(y<<2), uint8(y<<2))
fmt.Printf("z:%08b z>>2:%08b z>>2: %d\n", uint8(z), uint8(z>>2), uint8(z<<2))
fmt.Printf("w:%08b w>>2:%08b w>>2: %d\n", w, w>>2, w>>2)
}
참고
Tucker의 Go언어 프로그래밍 - Go가 온당 6장
https://www.youtube.com/c/TuckerProgramming/videos