问答详情
源自:1-1 文件的编码

小白菜鸟的提问:关于&0xff的问题。

这里的&操作一定得通过&0xff实现吗?二进制0&11111111或者八进制777(这个好像写错了,消不了前面的2字节)不行吗?如果是Integer.toBinaryString()呢?也不行吗?求解。




5494fcef0001bc7505000355.jpg

提问者:慕尼黑0202065 2014-12-20 12:42

个回答

  • 仗剑闯江湖
    2014-12-20 15:56:10
    已采纳

    '0x'开头表示这个数是十六进制的,八进制数以'0'开头,十进制没有这个标志,二进制也要有一个标志,记不清了。

    既然是以字节为单位,肯定十六进制最方便了,表示起来也清晰,你写八进制和二进制,还要数一数几个一,多费劲啊。

  • 慕尼黑0202065
    2014-12-20 21:47:50

    和你说得一样。&0777是八进制,所以取得是后九位的字符,结果是111000100,&111是十进制,二进制为1101111,所以与操作后结果为1000100。&0xff就是取后一字节了。


    54957d7d0001902705000333.jpg