二级 · 程序填空:除 2 取余存数组
下面的程序把 37 转成 8 位二进制输出 00100101。请在【】处填入正确的内容。 #include <stdio.h> int main(void) { int n = 37, i; int bits[
二级 · 程序改错:&& 和 &
下面程序的功能是:输入两个非负整数 a、b,第一行输出 a 按位与 b,第二行输出 a 按位异或 b。输入 6 3 时输出: 2 5 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。
二级 · 选择:~5 等于几
以下程序的输出是【0】 【1】。 #include <stdio.h> int main(void) { int a = 5; printf("%d %d\n", ~a, ~a &
二级 · 程序设计:fun 转二进制字符串
请编写函数 fun,它的功能是:把 0~255 的整数 n 转换成 8 位二进制字符串(不足 8 位前面补 0),存入 s。例如 n 为 37 时,s 中是: 00100101 注意:部分源程序已给出。请勿改动 main 函数,仅在函数 f
作品:把名字拆成二进制
每个英文字母在计算机里都是一个 ASCII 码(第 ① 条学过 'A' 是 65),存在 8 个二进制位里。输入你名字的拼音(只含英文字母,不超过 20 个),把每个字母写成 8 位二进制,一个字母一行。例如输入 Hi,输出
移位:乘除 2 的幂
x << 1:每一位往左挪一格,右边补 0 x 0 0 0 1 0 1 1 0 0 0001 0110 = 22 0010 1100 = 44,正好 ×2 x << n:把 x 的二进制整体左移 n 位,右边补 0。
一箱 8 瓶,四人一组
班级团建订水:一箱 8 瓶;分组时 4 人一组。输入 n(0~31),输出「订 n 箱一共几瓶」和「n 人能分几个整组」,只许用移位。例如输入 12,输出: 96 3 程序把「×8」写成了 << 8、「÷4」写成了 >&g
母题:用移位输出二进制
上一关用数组「除 2 取余」转二进制。有了移位就不用数组了:(n >> i) & 1 把第 i 位挪到最右边,再和 1 按位与,只留下这一位。 输入一个 0~255 的整数 n,输出它的 8 位二进制。例如输入 13,输
变式 1:体测第 k 项合格吗
体测 8 个项目的合格情况存成一个数 n:第 k 位是 1 表示第 k 项合格(项目从 0 编号)。输入 n 和 k,输出「合格」或「不合格」。例如输入 10 1,输出: 合格 程序把第 k 位挪错了方向。
变式 2:KB、字节和 MB
1 KB = 1024 字节,1 MB = 1024 KB,而 1024 正好是 2¹⁰。输入一个文件的大小 n(单位 KB,不超过 1000000),输出它是多少字节、约多少 MB(整除)。例如输入 3072,输出: 3145728 3