第44课 以二进制的角度看整数
3266:【例44.1】 输出二进制补码
[例 44.1] 输出二进制补码
/*
3266:【例44.1】 输出二进制补码
http://bas.ssoier.cn:8086/problem_show.php?pid=3266
https://blog.csdn.net/zhunubi/article/details/125958260
*/
#include<bits/stdc++.h>
using namespace std;
int a,b[10000],l;
int main(){
cin>>a;
if(a>=0){
while(a>0){
b[l++]=a%2;a=a/2;}l=32;b[l-1]=0;}else{a=abs(a);
while(a>0){
b[l++]=a%2;a=a/2;}l=32;b[l-1]=1;
for(int i=l-2;i>=0;i--){
if(b[i]==0){b[i]=1;}else{b[i]=0;}}
b[0]+=1;
if(b[0]>=2){
b[0]=b[0]%2;
for(int i=1;i<l;i++){
b[i]+=1;
if(b[i]>=2){b[i]=b[i]%2;}else{break;}}}}
for(int i=l-1;i>=0;i--){cout<<b[i];}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int ans;
int main()
{
cin>>ans;
cout<<bitset<32> (ans)<<endl;
return 0;
}
第 31课 统计 《信息学奥赛一本通 编程启蒙》
第32课 循环控制语句 《信息学奥赛一本通 编程启蒙》
第33课 枚举答案 《一本通 编程启蒙C++版》
第34课 初始难以确定个数的输入 《一本通 编程启蒙C++版》
《信奥学奥赛一本通 编程启蒙C++版》第35课 初始难以确定次数的循环
第36课 循环嵌套 《信息学奥赛一本通 编程启蒙 C++版》
第37课 合理设置for中控制变量《一本通 编程启蒙C++版》
《信息学奥赛一本通 编程启蒙》第38课 图形输出