文章
52
粉丝
68
获赞
22
访问
11.5k
#include <bits/stdc++.h>
using namespace std;
string decimalToBinary(string decimal) {
string binary = "";
while (decimal != "0") {
// 获取最后一位的奇偶性
int lastDigit = decimal.back() - '0';
binary.push_back((lastDigit % 2) + '0');
// 除以2,更新十进制数
string newDecimal = "";
int carry = 0;
for (char ch : decimal) {
int currentDigit = ch - '0';
int newDigit = (currentDigit + carry * 10) / 2;
carry = (currentDigit + carry * 10) % 2;
if (!newDecimal.empty() || newDigit != 0) {
newDecimal.push_back(newDigit + '0');
}
}
decimal = newDecimal.empty() ? "0" : newDecimal;
}
// 反转二进制字符串
reverse(binary.begin(), binary.end());
return binary.empty() ? "0" : binary;
}
string binaryToDecimal(string binary) {
string decimal = "0"; // 初始化十进制结果为0
for (char bit : binary) ...
登录后发布评论
暂无评论,来抢沙发