3266:【例44.1】 输出二进制补码
[例 44.1] 输出二进制补码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
bitset<32> b(n);
cout<<b;
return 0;
}
3267:【例44.2】 1的个数
【C语言】1的个数
统计二进制中1的个数(3种方法)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a[100001],m,ans=0;
cin>>n;
for(int i=1;i<=100000;i++){
a[i]=n%2;
n/=2;
if(n<1){
m=i;
break;
}
}
for(int i=1;i<=m;i++){
if(a[i]==1) ans++;
}
cout<<ans;
return 0;
}
3268:【例44.3】 内码对称
1080: 内码对称
题目 1189: 内码对称
题目 1189: 内码对称_题目描述 c++中int型整数内码是一个32位的01序列,该01序列有些是对称的,有些是不-CSDN博客
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,ans[1000+10],num=0;
cin>>n;
bitset<32> a(n);
for(int i=0,j=31;i<j;i++,j--)
{
if( a[i]!=a[j] )
{
cout<<"NO"<<endl;
return 0;
}
}
cout<<"YES"<<endl;
return 0;
}
3269:练44.1 比特童币
第59课 比特童币 《小学生C++趣味编程》
《小学生C++趣味编程》第59课 比特童币_四重循环
/*
第59课 比特童币(完整)《小学生C++趣味编程》
试编一程序,输出(0)2至(1111)2之间所有的整数及对应的十进制数。
*/
#include<iostream>
using namespace std;
int main()
{
int a1,a2,a3,a4,n;
for(a4=0;a4<=1;a4++)
for(a3=0;a3<=1;a3++)
for(a2=0;a2<=1;a2++)
for(a1=0;a1<=1;a1++)
{
n=a4*8+a3*4+a2*2+a1*1;
cout<<a4<<a3<<a2<<a1<<"B "<<n<<endl;
}
return 0;
}
/*
作业:
1098:质因数分解
http://ybt.ssoier.cn:8088/problem_show.php?pid=1098
1099:第n小的质数
http://ybt.ssoier.cn:8088/problem_show.php?pid=1099
1100:金币
http://ybt.ssoier.cn:8088/problem_show.php?pid=1100
*/
3270:练44.2 二进制转化为十进制
练 44.3 二进制串
怎么把二进制转换为十进制(编程启蒙3416:【例72.1】 二进制转化为十进制)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a[35],er;
cin>>n>>er;
for(int i=n;i>=1;i--){
a[i]=er%10;
er/=10;
}
er=a[1];
for(int i=2;i<=n;i++){
er*=2;
er+=a[i];
}
cout<<er;
return 0;
}