C++中怎么直接定义二进制数
C++不支持直接使用二进制的数,只支持8,10,16三种进制的直接定义。
计算机保存数据就是2进制的,如chara=97;那么在计算机里面的信息就是01100001,用2进制打印就是01100001,用10进制打印就是97,因此只存在显示方式的不同。
C++中天然的支持除10进制之外的三种进制的表示:
1、二进制
例:intx=0b1001;//x=9
2、八进制
例:inty=074;//x=60
3、十六进制
例:intz=0xa3;//x=163;
扩展资料
C++补码及二进制输出
#include<iostream>
usingnamespacestd;
voidmain()
{
while(1)
{
intn;
cin>>n;//最好有边界检查
inth=1;
h=h<<31;//32位,最高位1,其它位是0
for(inti=1;i<=32;i++)
{
if((n&h)==0)
cout<<0;
elsecout<<1;
n=n<<1;//左移一位,右位补0
if(i%4==0)
cout<<"";
}
cout<<endl;
}
system("pause");
}
/*
43
00000000000000000000000000101011
-43
11111111111111111111111111010101
*/