题目描述:
读入一个十进制正整数,将其进行二进制表示,取其从右端开始的第4至7位,输出这一部分的10进制表示。
输入格式:
一个正整数a。
输出格式:
a从右端开始的4至7位的十进制表示(第7位作为个位,第4位是高位)。
样例输入:
217
样例输出:
13
提示:
这题,没必要转成二进制哦!
时间限制: 1000ms
空间限制: 32MB
代码:
直接上代码!
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,b=0,s=0,s1=0;
cin>>x;
while(x){
b=x%2;
s++;
if(s==4){
s1=s1+b*8;
}
if(s==5){
s1=s1+b*4;
}
if(s==6){
s1=s1+b*2;
}
if(s==7){
s1=s1+b;
}
x=x/2;
}
cout<<s1;
return 0;
}
规整的写就行了,欢迎提问!