日期:2014-05-20  浏览次数:20810 次

都回答。。。对位操作
现在  给你  一个  int类型的数,大家都知道  int 占 4个字节,32位,有没有方法,将 第七位赋值为 1,
 

java有没有直接对位 进行操作的方法,或者间接的方法。大家都来谈谈,  希望版主  推荐  一下,,,
------解决方案--------------------
java 有移位操作。或者计算出赋值为1后的值再赋值
------解决方案--------------------
int any = ...
any = any 
------解决方案--------------------
 (1<<7)

随便写写,试试
------解决方案--------------------
用一个新变量,前7位置1,后面置0,按位与取出前7位。
左移7位,无符号右移一位。
加2^31将最高位置1
有符号右移6位
然后加上前7位

不知道是不是这个意思
------解决方案--------------------
int a;
a=a
------解决方案--------------------
(1<<6)
------解决方案--------------------
引用:
如果要将第七位置为1 那么要知道这个数字的二进制为:00000000 00000000 00000000 01000000 
换算成10进制为:64
换算成16进制为:0x40

如果要将某个数的第七位置为0 ,参考如下代码
        int a = 0;
        //1、
        System.out.println(a 
------解决方案--------------------
 0x40);
        //1、
        System.out.println(a 
------解决方案--------------------
 64);


忘了问你是从左往右数第7位还是从右往左数第7位 不过参考上面的方法 如果是从左往右
00000010 00000000 00000000 00000000
换算成10进制是:33554432
16进制是:0x2000000