比特类型转化为十进制整形类型有问题?

老师在讲字符类型(比特类型)转化为十进制(整型)的时候有问题吧?也就是课程中"int rs3=(int)((arr[3]&0xff)<<3*8)"有问题吧?比特类型只有8位,那么arr[3]怎么能够左移3*8=24位呢?只是因为十进制的8143对应的二进制的最高8位(其实高16位)都是0,也就是arr[3]=arr2]=0000 0000(b).所以”左移24位“之后再强制转化为Int类型时还是等于0,因为恰好掩盖了这个错误吧?


http://img.mukewang.com/56f18608000168f519861162.jpg

zhuifengtu
浏览 1197回答 1
1回答

一条小咸鱼

左移一位等于*进制
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java