如果字符串是“8123”,我首先将字符串数字转换为整数形式 8123,然后将该数字发送到将其转换为二进制的函数。我得到了与 unsigned long long 一样大的数字来工作,但是一旦通过了,输出就会错误。有没有办法通过查看每个数字来转换为二进制。 即查找 3、2、1 和 8 来转换为二进制。
所以不要采用字符串“9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999” 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999”并将其转换为数字,有没有办法查看该字符串中的每个字符并将其转换为二进制?
非常感谢任何建议
最佳答案
伪代码:
string binary_string = ""
#an example
number = 81
while (number != 0)
#append the string casted value of the remainder of (number / 2)
#to the front of binary_string
binary_string = str(number % 2) + binary_string
number = number / 2
例如81:
binary_string = str(81 % 2) + binary_string = str(1) + ""= "1"
数量 = 81/2 = 40
binary_string = str(40 % 2) + binary_string = str(0) + "1"= "01"
数量 = 40/2 = 20
binary_string = str(20 % 2) + binary_string = str(0) + "01"= "001"
数量 = 20/2 = 10
二进制字符串 = str(10 % 2) + 二进制字符串 = str(0) + "001"= "0001"
数字 = 10/2 = 5
binary_string = str(5 % 2) + binary_string = str(1) + "0001"= "10001"
数字 = 5/2 = 2
binary_string = str(2 % 2) + binary_string = str(0) + "10001"= "010001"
数字 = 2/2 = 1
二进制字符串 = str(1 % 2) + 二进制字符串 = str(1) + "010001"= "1010001"
81 ->“1010001”
关于c++ - 将一串数字转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23024638/