写一个十进制转二进制的c++函数
时间: 2024-03-16 09:43:05 浏览: 32
好的,以下是一个将十进制数转换为二进制数的 C++ 函数:
```cpp
#include<bits/stdc++.h>
using namespace std;
string decimal_to_binary(int decimal_num) {
string binary_num = "";
while (decimal_num > 0) {
int remainder = decimal_num % 2;
binary_num = to_string(remainder) + binary_num;
decimal_num = decimal_num / 2;
}
return binary_num;
}
```
这个函数接受一个十进制数作为参数,并返回一个二进制数的字符串。它使用了一个 while 循环,对十进制数进行二进制转换,每次将余数添加到二进制数的开头,并将十进制数除以 2。当十进制数变为 0 时,函数返回二进制数的字符串。
请注意,为了使用 `to_string()` 函数将余数转换为字符串,需要包含 `<bits/stdc++.h>` 头文件。
相关问题
十进制转换二进制函数 c++
你可以使用以下的 C++ 函数将十进制转换为二进制:
```cpp
#include <iostream>
#include <bitset>
std::string decimalToBinary(int decimal) {
return std::bitset<8>(decimal).to_string(); // 8位二进制数,可以根据需要调整位数
}
int main() {
int decimal;
std::cout << "请输入一个十进制数: ";
std::cin >> decimal;
std::string binary = decimalToBinary(decimal);
std::cout << "转换后的二进制数为: " << binary << std::endl;
return 0;
}
```
这个例子中,我们使用了 `std::bitset` 类来将十进制数转换为二进制字符串。你可以根据需要调整位数。注意,我们使用了 `std::string` 类型来存储二进制字符串,并在最后输出结果。
希望这个例子对你有帮助!如果有其他问题,请随时提问。
写一个十进制转点分十进制的c++函数
好的,以下是一个将十进制数转换为点分十进制的C++函数:
```cpp
#include<bits/stdc++.h>
using namespace std;
string decimal_to_ip(float decimal_num) {
int integer_part = (int) decimal_num;
float fractional_part = decimal_num - integer_part;
string ip_address = "";
while (integer_part > 0) {
int remainder = integer_part % 256;
ip_address = to_string(remainder) + "." + ip_address;
integer_part = integer_part / 256;
}
while (ip_address.size() < 7) {
ip_address = "0." + ip_address;
}
ip_address = ip_address + to_string((int)(fractional_part * 256));
return ip_address;
}
```
这个函数接受一个十进制数作为参数,并返回一个点分十进制的字符串。它首先将十进制数拆分为整数部分和小数部分。然后使用一个 while 循环,将整数部分每次除以 256 并取余数,将余数添加到点分十进制字符串的开头,直到整数部分变为 0。最后,将小数部分乘以 256 并将其整数部分添加到点分十进制字符串的末尾。
请注意,由于 IPv4 地址由 4 个 8 位二进制数组成,因此需要将每个二进制数限制在 0 到 255 之间。在这个函数中,我们使用了一个 while 循环来确保点分十进制字符串的长度为 7,不足部分用 0 补齐。为了使用 `to_string()` 函数将余数转换为字符串,需要包含 `<bits/stdc++.h>` 头文件。