如何将十进制数分别转换成八进制和十六进制数?

2026-04-16 20:201阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计457个文字,预计阅读时间需要2分钟。

如何将十进制数分别转换成八进制和十六进制数?

伪原创可以改写为模仿创新。以下是改写后的开头内容:

模仿创新,是一种在现有基础上进行创新的方法。它通过借鉴他人成功经验,结合自身特点,创造出新的产品或服务。这种方法在短时间内可以快速提升创新效率,降低研发成本。

#include <iostream> #include <sstream> using namespace std; int main() { /*---------------------------------- 十六进制,八进制转十进制 ----------------------------------*/ int decimal1,decimal2; string oct_test = "75"; string hex_test = "A3"; stringstream ss1; ss1.str(oct_test); ss1>>oct>>decimal1; cout<<"Convert oct to decimal:"<<decimal1<<endl; //ss1.clear();//若不想从新定义stringstream流,必须先清空ss1中的缓存 stringstream ss2; ss2.str(hex_test); ss2>>hex>>decimal2; cout<<"Convert hex to decimal:"<<decimal2<<endl; /*---------------------------------- 十进制转八进制、十六进制 ----------------------------------*/ int decimal; stringstream ss,sss; cout<<"Enter a decimal number:"; cin>>decimal; /*下面两句等价于: cout<<"Convert to hex:"<<hex<<decimal<<endl; */ //十进制转十六进制 ss<<hex<<decimal; cout<<"Convert to hex:"<<ss.str()<<endl; //十进制转八进制 ss.str(""); //同上,若不想从新定义stringstream流,必须先将ss.str()置为空 ss<<oct<<decimal; cout<<"Convert to oct:"<<ss.str()<<endl; system("pause"); return 0; }

运行结果如下:

十六进制结果控制:

将: ss<<hex<<decimal; 替换为: ss << "0x" << uppercase << setfill(‘0‘) << setw(4) << std::hex << decimal;

uppercase : 将小写转大写; setfill(‘0‘): 填充0; setw(4): 设置位宽为4

这里要加入头文件 #include <iomanip>

再次运行结果为:

如何将十进制数分别转换成八进制和十六进制数?

本文共计457个文字,预计阅读时间需要2分钟。

如何将十进制数分别转换成八进制和十六进制数?

伪原创可以改写为模仿创新。以下是改写后的开头内容:

模仿创新,是一种在现有基础上进行创新的方法。它通过借鉴他人成功经验,结合自身特点,创造出新的产品或服务。这种方法在短时间内可以快速提升创新效率,降低研发成本。

#include <iostream> #include <sstream> using namespace std; int main() { /*---------------------------------- 十六进制,八进制转十进制 ----------------------------------*/ int decimal1,decimal2; string oct_test = "75"; string hex_test = "A3"; stringstream ss1; ss1.str(oct_test); ss1>>oct>>decimal1; cout<<"Convert oct to decimal:"<<decimal1<<endl; //ss1.clear();//若不想从新定义stringstream流,必须先清空ss1中的缓存 stringstream ss2; ss2.str(hex_test); ss2>>hex>>decimal2; cout<<"Convert hex to decimal:"<<decimal2<<endl; /*---------------------------------- 十进制转八进制、十六进制 ----------------------------------*/ int decimal; stringstream ss,sss; cout<<"Enter a decimal number:"; cin>>decimal; /*下面两句等价于: cout<<"Convert to hex:"<<hex<<decimal<<endl; */ //十进制转十六进制 ss<<hex<<decimal; cout<<"Convert to hex:"<<ss.str()<<endl; //十进制转八进制 ss.str(""); //同上,若不想从新定义stringstream流,必须先将ss.str()置为空 ss<<oct<<decimal; cout<<"Convert to oct:"<<ss.str()<<endl; system("pause"); return 0; }

运行结果如下:

十六进制结果控制:

将: ss<<hex<<decimal; 替换为: ss << "0x" << uppercase << setfill(‘0‘) << setw(4) << std::hex << decimal;

uppercase : 将小写转大写; setfill(‘0‘): 填充0; setw(4): 设置位宽为4

这里要加入头文件 #include <iomanip>

再次运行结果为:

如何将十进制数分别转换成八进制和十六进制数?