将1234转换成八进制和16进制,代码怎么写?
时间: 2024-09-30 08:05:06 浏览: 43
将十进制数转换为八进制和十六进制,你可以使用C++标准库中的`std::bitset`和`std::stringstream`。这里有一个简单的示例:
```cpp
#include <iostream>
#include <bitset>
#include <sstream>
// 十进制转八进制
int dec_to_oct(int decimal) {
std::bitset<8> octet(decimal);
return octet.to_ullong(); // 使用比特位宽度为8,然后转换为无符号长整型
}
// 十进制转十六进制
std::string dec_to_hex(int decimal) {
std::stringstream ss;
ss << std::hex << decimal; // 使用std::hex前缀,使得输出为十六进制
return ss.str();
}
int main() {
int number = 1234;
// 输出八进制
std::cout << "Decimal to Octal: " << dec_to_oct(number) << std::endl;
// 输出十六进制
std::cout << "Decimal to Hexadecimal: " << dec_to_hex(number) << std::endl;
return 0;
}
```
在这个代码里,`dec_to_oct`函数将十进制数转换为八进制,而`dec_to_hex`函数则直接使用了`std::hex`标志将数字转换为十六进制字符串。
阅读全文