Truncating to a given bit length
10 ビュー (過去 30 日間)
古いコメントを表示
Buddhini Angelika
2015 年 12 月 30 日
コメント済み: Walter Roberson
2016 年 1 月 6 日
I have a gui which gives a result as follows. Result=a253ff09c5a8678e1fd1962b2c329245e139e45f9cc6ced4e5d7ad42c4108fc0. Is there a way to truncate the above result to a given bit length? (Say bit lengths of 19,13,10 etc.)
Please help me with the above question.
Thanks a lot in advance.
1 件のコメント
Walter Roberson
2015 年 12 月 30 日
This question seems likely to be related to http://uk.mathworks.com/matlabcentral/answers/262105-using-hash-functions-editing-contents-of-uitable and might even be the same question.
採用された回答
Walter Roberson
2015 年 12 月 30 日
Assuming Result is a string and assuming that the values represent hex,
NeededBitLength = 19; %for example
bitvec = reshape(dec2bin(sscanf(Result,'%1x'),4).',1,[]);
bitvec = bitvec(end-NeededBitLength+1 : end);
truncatedResult = bin2dec(bitvec);
Caution: if you need more than 53 bits this version will not work.
4 件のコメント
Walter Roberson
2016 年 1 月 6 日
I am certain that SHA-256 does not expect you to work with word lengths of more than 64 bits. Typical implementations work with arrays of 32 bit words.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Debugging and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!