有一种ASCII字符加密的算法,其加密过程如下:
①将明码中每个字符的八位二进制ASCII码(不足八位的左端补0,凑足八位)分成两段(左4位高位段,右4位低位段)。如字符“C”的二进制ASCII码为01000011,分段后为0100,0011;
②将高位段(左边4位)左移一位,并将原第一位数码移至最后(如0100转化为1000),再转化为十六进制数(如1000转化为8);
③对低位段(右边4位)执行②同样的算法,如0011→0110→6;
④顺次连接两位十六进制数,得到该字符的密文,如“C”的密文为“86”;
⑤将每个字符的密文按明码的顺序连接。
用python编写的程序运行结果如图1所示,请回答下列问题:

具体使用方法如下:
5*2=10,5/2=2.5,5//2=2,5%2=1
(1)按照加密算法,明码字符“J”的密文是 8585;密文“C2”的明码是 aa;
(2)假设某字符ASCII值的十进制数为m,则该数的高位段是 m//16m//16,低位段是 m%16m%16(结果都是十进制);
(3)假设(2)中高位段的四位二进制转十进制为n,则经过加密算法第②步运算:左移一位,将原第一位移至最后,得到的值是 n%8*2+n//8n%8*2+n//8(结果为十进制)。
【考点】数的进制.
【答案】85;a;m//16;m%16;n%8*2+n//8
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:0引用:1难度:0.5