二进制的一道题某中学的高一年级有5个班,每个班最多有40位学生,给高一年级学生进行编码,形式为英文字符S加若干位二进制数

二进制的一道题
某中学的高一年级有5个班,每个班最多有40位学生,给高一年级学生进行编码,形式为英文字符S加若干位二进制数.要求用二进制数分别表示班级编码和学生编码,并尽可能减少编码长度.请问以下分配方案中正确的是( )
A.用2位二进制数记录班级编码,5位二进制数记录学生编码
B.用3位二进制数记录班级编码,5位二进制数记录学生编码
C.用3位二进制数记录班级编码,6位二进制数记录学生编码
D.用4位二进制数记录班级编码,5位二进制数记录学生编码
蓝蓝青青 1年前 已收到4个回答 举报

gain17 幼苗

共回答了16个问题采纳率:81.3% 举报

C.用3位二进制数记录班级编码,6位二进制数记录学生编码
5个班级 至少是 3位 共8中方式
40个学生 至少是 6为 64 中方式

1年前

2

丁十七 幼苗

共回答了16个问题采纳率:87.5% 举报

我觉得应该选C吧,首先5个班至少要大于等于5的二进制来表示,而两位二进制数只能表示4,于是需要三位的二进制数即8表示。
同理,40也需要大于等于40的二进制数表示,但是5为二进制数只能表示32,于是要用到6位二进制数表示。
这样表示虽然有一些数没有使用,但是这样的表示方式才能完整的表示要求的班级学生编号。
希望我的回答对您有帮助。...

1年前

2

脚丫里的泥 春芽

共回答了22个问题采纳率:72.7% 举报

void binaryIO(char* file, int n)
{ Node t;
ifstream in(file);
for(int i=0;i { in.read((char*)&t.c,sizeof(char));
in.read((char*)&t.t,sizeof(short)...

1年前

2

孤独求胜100年 幼苗

共回答了15个问题采纳率:86.7% 举报

C.用3位二进制数记录班级编码,6位二进制数记录学生编码
5个班级要用3位二进制编码,共有8种表现方式(2位二进制编码有4种表现方式)
40个学生要用6位二进制编码,共有64种表现方式(5位二进制编码有32种表现方式)
N 位二进制编码的表现方式,就好给你0和1两个数,让你组合成一个 N 位数的数列,有多少种组合方法就有多少种表现方式,如一个两位的二进制编码,有
...

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 19 q. 0.041 s. - webmaster@yulucn.com