有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

以字节[knownsize]存储长度为2比特状态的java

我有一个字节数组:

byte[] myPool = new byte[100];

我想存储由4个字符组成的字符串。将其视为DNA:

- A = 00
- C = 01
- G = 10
- T = 11

我将如何解析和插入这些字符的字符串作为字节?不是在寻找代码,而是在寻找可以阅读的东西

String example = "CGGGGT" //011010101011 aka 1707 aka 0x6AB
myPool.insert(example); //assume empty pool at start

然后我希望myPool[0]为0x0006,记录从myPool[2]开始(以便能够保存长度指示符高达0xFFFF,我也不知道如何在数组中输入两个单独的字节)

myPool[2]应为0x006A,myPool[3]应为0x00B0(最后4位为0000)

所以我真正不明白的是如何在java中“生成”字节


共 (1) 个答案

  1. # 1 楼答案

    字节实际上是一种基本数据类型,如int,而不是对象,如String。它们存储一个介于-128和127之间的数字。您可以这样创建一个:

    byte myByte = 0;
    

    并按如下方式存储:

    myPool[0] = myByte;
    

    请记住,当您存储字节号1时,其二进制表示形式将类似于000000012将看起来像00000010

    您最大的挑战是将其中的四个值(一个CGT)打包成一个字节。您的最佳选择将涉及使用四个操作符:

    • &,它是按位AND。例如,您可以使用它仅允许通过底部的两位
    • |,它是按位OR。您可以使用它将新位合并到正在构建的现有字节中
    • <<,这是一个左移。它将值“向左”移动一定数量的位置,相当于乘以2的幂
    • >>,这是右移。它将值“向右”移动一定数量的位置,相当于除以2的幂

    希望这有帮助,如果这是一项任务,祝你好运