输出二进制的字符串

Bennie

说明

给一个数字,输出其二进制的字符串,这里我们使用 golang 中的int32举例:

1
2
// 20 -> 00000000000000000000000000010100  最高为符号位,0为正数,1为负数
// -1 -> 11111111111111111111111111111111 负数等于后31位取反+1

解法

将 1 进行左移,一共进行 32 次,每次都和 num 进行与运算,如果是 0 则 num 的 i 位就是 0,否则就是 1。

1
2
3
4
5
6
7
8
9
10
11
12
13
func PrintBinaryString(num int32) string {
var str string
var c int32
for i := 0; i < 32; i++ {
c = 1 << i
if num&c != 0 {
str = "1" + str
} else {
str = "0" + str
}
}
return str
}
  • 标题: 输出二进制的字符串
  • 作者: Bennie
  • 创建于 : 2023-12-11 16:29:04
  • 更新于 : 2023-12-19 16:54:07
  • 链接: https://liubin.ink/2023/12/11/algorithm/输出二进制的字符串/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论
此页目录
输出二进制的字符串