diff --git "a/day1/\344\275\234\344\270\232/GO7031-\346\235\216\346\265\267\350\266\205/homework1.txt" "b/day1/\344\275\234\344\270\232/GO7031-\346\235\216\346\265\267\350\266\205/homework1.txt" new file mode 100644 index 0000000000000000000000000000000000000000..44ddfd187d5d59fea1d6bb1cb4ff184ccc0e444c --- /dev/null +++ "b/day1/\344\275\234\344\270\232/GO7031-\346\235\216\346\265\267\350\266\205/homework1.txt" @@ -0,0 +1,27 @@ +package main +import ( + "fmt" + "math" + "strings" +) +func BinaryFormat(n int32) string { + a := uint32(n) + sb := strings.Builder{} + c := uint32(math.Pow(2, 31)) + 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