早教吧 育儿知识 作业答案 考试题库 百科 知识分享

/*题目描述读入一个10进制正整数,将其进行二进制表示,取其从右端开始的第4至7位(右边从0位算起),输出这一部分的10进制表示。输入一个正整数a。输出a从右端开始的4至7位的10进制表

题目详情
/*
题目描述
读入一个10进制正整数,将其进行二进制表示,取其从右端开始的第4至7位(右边从0位算起),输出这一部分的10进制表示。
输入
一个正整数a。
输出
a从右端开始的4至7位的10进制表示。
请注意行尾输出换行。
样例输入
217
样例输出
13
提示
*/
▼优质解答
答案和解析
#include
using namespace std;
int main() {
int x;
cin >> x;
int a[100];
int c = 0;
while (x > 0) {
a[c++] = x % 2;
x /= 2;
}
int m = 0, n = 1;
for (int i = 4; i <= 7; i++) {
m += a[i] * n;
n *= 2;
}
cout << m << endl;
return 0;
}
看了 /*题目描述读入一个10进制...的网友还看了以下: