CSP-J模拟套题2-17
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
- (阅读程序)
#include <iostream>
using namespace std;
int g(unsigned long long x){
const unsigned long long m1 = 0x55555555;
const unsigned long long m2 = 0x33333333;
const unsigned long long m4 = 0x0f0f0f0f;
const unsigned long long h01 = 0x01010101;
x-=(x>>1)&m1;
x=(x&m2)+((x>>2)&m2);
x=(x+(x>>4))&m4;
return (x*h01)>>24;
}
int main()
{
ios::sync_with_stdio(false);
long long x;
cin>>x;
cout<<g(x)<<'\n';
}
假设数据满足 0 ≤ x ≤ 9 × ,回答下列问题。
(判断题)
程序输入 0,程序输出 0。( )
{{ select(1) }}
- 对
- 错
程序输入 1,程序输出 1。( )
{{ select(2) }}
- 对
- 错
程序输出的最大值为 。( )
{{ select(3) }}
- 对
- 错
在本段程序中 g(-x) = g(~x + 1)(提示:考虑补码)。( )
{{ select(4) }}
- 对
- 错
(选择题)
假设某组输入用八进制表示为16,则程序输出( )
{{ select(5) }}
- 0
- 1
- 2
- 3
假设输入的数字用二进制表达为 10101101,则程序输出为( )
{{ select(6) }}
- 5
- 6
- 7
- 8
假设输入的数字是 x,则输出的数字( )
{{ select(7) }}
- 小于 x
- 等于 x
- 大于 x
- 以上皆有可能