第一题的java实现,代码写不下,主要逻辑如下 😅 public void test() { //2.(2位)交换 StringBuilder sb; String[] ss; //输入存储至ss sb = new StringBuilder(); for (int i = 0; i < ss.length; i++) { long num = Long.parseLong(ss[i]); sb.append(bitShift(Long.toBinaryString(num))); } //3.(2位)循环右移 int len = sb.length(); String res = sb.substring(len - 2, len) + sb.substring(0, len - 2); //4.字符串转数 sb = new StringBuilder(); for (int i = 0; i < res.length(); i = i + 32) { long ni = Long.parseLong(res.substring(i, i + 32), 2); //这里只能用long sb.append(" ").append(ni); //strB2num } //输出sb } private String bitShift(String s) { s = "00000000000000000000000000000000" + s; char[] cc = s.substring(s.length() - 32).toCharArray(); for (int i = 1; i < cc.length; i += 2) { //swap } return new String(cc); }