Java做位反操作的时候是不是要变成8位再做位反?比如8的位反是?

[复制链接]
查看11 | 回复2 | 2012-3-14 21:28:50 | 显示全部楼层 |阅读模式
你好,你的理解是对的,但是变几位不是固定的,而是你这0个数据的类型,如整型8占2个字节,它就是16位,而short的8占一个字节,它就是八位,举个简单的例子,short的8,二进制是00001000,那么它的取反后是11110111,值为一个负数(最高位表示符号),是:-2^7+2^6+2^5+2^4+2^2+2^1+2^0 = -9 。明白了吧。...
回复

使用道具 举报

千问 | 2012-3-14 21:28:50 | 显示全部楼层
不用变,所有的PC机里面基本存储单元基本都是8位的,真是这个八位是二进值的八位,比如你8的二进制就是00001000(此处不考虑符号位),位反以后就是11110111.明白了没?...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行