diff --git "a/day1/\344\275\234\344\270\232/GO7031-\346\235\216\346\265\267\350\266\205" "b/day1/\344\275\234\344\270\232/GO7031-\346\235\216\346\265\267\350\266\205" new file mode 100644 index 0000000000000000000000000000000000000000..f0070a7d76313cb5aea8faa6400c4d7c1b7f1013 --- /dev/null +++ "b/day1/\344\275\234\344\270\232/GO7031-\346\235\216\346\265\267\350\266\205" @@ -0,0 +1,31 @@ +package main + +import ( + "fmt" + "math" + "strings" +) + +func BinaryFormat(n int32) string { + a := uint32(n) + fmt.Println(a) + sb := strings.Builder{} + c := uint32(math.Pow(2, 31)) + fmt.Println(c) + for i := 0; i < 32; i++ { + if a&c != 0 { + sb.WriteString("1") + } else { + sb.WriteString("0") + } + c >>= 1 + } + return sb.String() +} +func main() { + fmt.Println(BinaryFormat(0)) + fmt.Println(BinaryFormat(1)) + fmt.Println(BinaryFormat(-1)) + fmt.Println(BinaryFormat(260)) + fmt.Println(BinaryFormat(-260)) +} \ No newline at end of file