若二进制数原码为 -0.0101,则其补码为A.-0.0101B.0.0101C.1.1011D.1.1010
若二进制数原码为 -0.0101,则其补码为
A.-0.0101
B.0.0101
C.1.1011
D.1.1010
若二进制数原码为 -0.0101,则其补码为
A.-0.0101
B.0.0101
C.1.1011
D.1.1010
试题二(共 15分)
阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明 1】
函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。
例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即 )、w[1]中存入4(即 )、w[2]中存入16(即 )。
1
2 2
2 4
2
【C函数 1】
int Counter(int n, int w[])
{ int i = 0, k = 1;
while ((1) ) {
if (n % 2) w[i++] = k;
n = n / 2; (2) ;
}
return i;
}
【说明 2】
函数 Smove(int A[], int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若 A[i]、A[j]都是奇数,则从前往后找出一个偶数,再与 A[j]进行交换;若 A[i]、A[j]都是偶数,则从后往前找出一个奇数,再与A[i]进行交换;若 A[i]是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。
【C函数 2】
void Smove(int A[], int n)
{ int temp, i = 0, j = n-1;
if (n < 2 ) return;
while (i < j ) {
if (A[i] % 2 == 1 && A[j] % 2 == 1 ) { (3) ; }
else if (A[i] % 2 == 0 && A[j] % 2 == 0 ) { (4) ; }
else {
if ((5) ) {
temp = A[i]; A[i] = A[j]; A[j] = temp;
}
i++, j--;
}
}
}
在一个非零无符号二进制整数之后去掉一个0,则此数的值为原数的______倍。
A.4
B.2
C.39815
D.39817
如果删除一个非零无符号二进制整数后的一个0,则此数的值为原数的()
A. 4倍
B. 2倍
C. 1/2
D. 1/4
A.两样本均数无差别
B.两样本均数有差别
C.两总体均数有差别
D.两总体均数无差别
E.差别无显著意义
原码两位乘中,符号位单独处理,参加操作的数是()。
A.原码
B.补码
C.绝对值的原码
D.绝对值的补码
A.3件 B.4件 C.8件 D.10件
A.由32位二进制数组成
B.每8位为一组,用小数点“.”分隔
C.每4位为一组,用小数点“.”分隔
D.每组用相应的十进制数(0-255之间的正整数)表示
设任意一个十进制数整数为D,转换成二进制数为B。根据数制的概念,下列叙述中正确的是______。
A.数字B的位数<数字D的位数
B.数字B的位数≤数字D的位数
C.数字B的位数≥数字D的位数
D.数字B的位数>数字D的位数