标题:c++进制没有改变什么情况
只看楼主
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
结帖率:56.6%
已结贴  问题点数:5 回复次数:4 
c++进制没有改变什么情况
#include<iostream>
#include<climits>
#include<cmath>
int main()
{
    using namespace std;
    int ch=42;
    int wa=0x42;
    int in=042;
    cout<<"ch= "<<ch<<endl;
    cout<<"wa= "<<ch<<"\n";
    cout<<"in= "<<ch<<endl;
    cout<<"chest= "<<ch<<endl;
    cout<<hex;
    cout<<"wa= "<<wa<<endl;
    cout<<oct;
    cout<<"in= "<<in<<endl;
    return 0;
}

为什么我的结果是这样?    不应该是区分8,16进制的吗?为66,34吗?
ch= 42
wa= 42
in= 42
chest= 42
wa= 42
in= 42
Press any key to continue
搜索更多相关主题的帖子: include return 
2017-03-16 13:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:2 
不应该是区分8,16进制的吗?为66,34吗?
你有6个输出,不知道你说的是哪两个? 所以说不相干的代码要少贴。

前面4个都是输出ch,也就是42,这没什么好说的;
第五个以16进制输出0x42,第六个以8进制输出042。
全是42很正常呀。
2017-03-16 13:10
yuyu12409
Rank: 2
等 级:论坛游民
帖 子:9
专家分:46
注 册:2017-3-12
得分:2 
前四个是输出的10进制42,第五个是16进制的42,最后一个是8进制的。
虽然都是42,代表的数据大小不一样
2017-03-16 15:24
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
得分:0 
回复 楼主 troyzyc
界面显示的不应该是以十进制的数字吗?即16进制的42显示结果为66,八进制的42显示为34?
2017-03-16 18:35
weidelong
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:31
专家分:158
注 册:2015-2-6
得分:2 
应该用
cout<<oct<<x<<dec<<x<<hex<<x<<endl;//oct、dec、hex类似格式控制符,控制其后的变量
2017-03-18 15:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475137-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.313339 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved