闲逛OSC,看到一段小代码
Go语言版byte变量的二进制字符串表示 http://www.oschina.net/code/snippet_10896_6117
觉得挺好玩,就自己也写了个。记录备忘~~
// byte2binary
package main
import (
"fmt"
)
/* 这段是抄的 */
func ByteToBinaryString(data byte)(str string) {
var a byte
for i:=0; i<8; i++ {
a = data
data <<= 1
data >>= 1
switch(a) {
case data: str += "0"
default : str += "1"
}
data <<= 1
}
return str
}
/* 自己写了个 */
func ByteToBinaryString2(data byte)(str string){
var a byte = 0x80
for i:=0; i<8; i++ {
switch a&data{
case 0: str += "0"
default: str += "1"
}
a >>= 1
}
return str
}
func main() {
var t byte = 164;
fmt.Printf("%d = [%s] [%s]\n",t, ByteToBinaryString(t), ByteToBinaryString2(t) );
}