gpt4 book ai didi

java - 替换短时间内的多个位

转载 作者:行者123 更新时间:2023-12-01 10:14:33 26 4
gpt4 key购买 nike

如何在 Java 中替换 Short 中的多个位?

我正在研究一种加密算法,我需要执行以下操作:我遇到了短路,需要应用一系列 4 位替换。示例:如果前 4 位是 0010 ,将其替换为 0110 ,如果是 1111 ,将其替换为 1100依此类推,第二个4位也是如此。

最好/最快的方法是什么?目前,我将短路转换为字符串,并通过字符串替换来完成,但它显然非常慢,在我看来,这是绝对错误的方式。

最佳答案

位算术,像这样:

short s = 191;
short first = (short) (s & 0x000F);
short second = (short) ((s >> 4) & 0x000F);
short third = (short) ((s >> 8) & 0x000F);
short fourth = (short) ((s >> 12) & 0x000F);

call_the_method_to_convert_each();

s = fourth;
s = ((short) ((s << 4) | third));
s = ((short) ((s << 4) | second));
s = ((short) ((s << 4) | first));

关于java - 替换短时间内的多个位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35976652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com