function k = q43042300
key=input('Enter the key','s');
keyarr=dec2bin(key,8)
temp=1;
v=char(zeros(1,16*8));
for i=1 :16
for j=1:8
v(temp)=keyarr(i,j);
temp=temp+1;
end
end
temp=1;
for i=1:16:128
k(temp)=v(i:i+15) % Error: Subscripted assignment dimension mismatch.
temp=temp+1
end
我想获得像'abcdefghijklmnop'
这样的密钥作为输入,然后我想将字符转换为二进制数字(这样我得到128位)。
然后我想将每个连续的16位配对成一个字段,但这会产生错误。
答案 0 :(得分:0)
如果我正确理解了您的请求(即将提供的密钥转换为8组16位二进制数字),这就是您尝试做的事情:
k = reshape(dec2bin(input('Enter the key: ','s'),8).',16,[]).';
你不需要循环,只需要重塑一些。