解释二元运算符'&'的方式适用于Java Card

时间:2014-01-25 06:22:19

标签: java javacard

我如何以一种他们完全理解它的方式向一类Java Card初学者解释这段代码:

private void getBalance(APDU apdu) {
    byte[] buffer = apdu.getBuffer();

    // inform system that the applet has finished
    // processing the command and the system should
    // now prepare to construct a response APDU
    // which contains data field
    short le = apdu.setOutgoing();

    if (le < 2) {
        ISOException.throwIt((byte) 0x6A86);
    }

    // informs the CAD the actual number of bytes
    // returned
    apdu.setOutgoingLength((byte) 2);

    // move the balance data into the APDU buffer
    // starting at the offset 0
    buffer[0] = (byte) (balance >> 8);

    buffer[1] = (byte) (balance & 0xFF);//How do i explain what happens here



    // send the 2-byte balance at the offset
    // 0 in the apdu buffer
    apdu.sendBytes((short) 0, (short) 2);
}

1 个答案:

答案 0 :(得分:1)

解释整数的二进制表示。 解释&gt;&gt;转移运营商。 解释十六进制符号,以及0xFF变为什么。 解释按位和/或运算符。 将它们放在一起以显示&gt;&gt; 8和&amp; 0xFF的组合如何将16位值分成高字节和低字节。 询问是否有任何问题。