-
位运算和大小端查看全部
-
交换变量查看全部
-
,,,查看全部
-
二进制八卦图查看全部
-
位运算的几个应用: 1) 判断int型变量a是奇数还是偶数 a&1 = 0 偶数 a&1 = 1 奇数 2) 取int型变量a的第k位 (k=0,1,2……sizeof(int)),即a>>k&1 (先右移再与1) 3) 将int型变量a的第k位清0,即a=a&~(1<<k) (10000 取反后为00001 ) 4) 将int型变量a的第k位置1,即a=a|(1<<k) 5) int型变量循环左移k次,即a=a<<k|a>>16-k (设sizeof(int)=16) 6) int型变量a循环右移k次,即a=a>>k|a<<16-k (设sizeof(int)=16) 7)对于一个数 x >= 0,判断是不是2的幂。 boolean power2(int x){return ( (x&(x-1))==0) && (x!=0);} (8)不用temp交换两个整数 void swap(int x , int y) {x ^= y;y ^= x;x ^= y;} (9)计算绝对值 int abs( int x ){int y ;y = x >> 31 ; return (x^y)-y ; //or: (x+y)^y } 10)取模运算转化成位运算 (在不产生溢出的情况下) a % (2^n) 等价于 a & (2^n - 1) 11)乘法运算转化成位运算 (在不产生溢出的情况下) a * (2^n) 等价于 a<< n 12)除法运算转化成位运算 (在不产生溢出的情况下) a / (2^n) 等价于 a>> n 例: 12/8 == 12>>3 13) a % 2 等价于 a & 1 14) if (x == a) x= b; else x= a; 等价于 x= a ^ b ^ x; 15) x 的 相反数 表示为 (~x+1) 16)输入2的n次方:1 << 19 17)乘除2的倍数:千万不要用乘除法,非常拖效率。只要知道左移1位就是乘以2,右移1位就是除以2就行了。比如要算25 * 4,用25 << 2就好啦查看全部
-
十进制的由来查看全部
-
http://img1.sycdn.imooc.com//54a693a500017c9512000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a6921b0001aa1612000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a6915e00016ce412000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a690da0001d11c12000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a690ca0001887812000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a69082000180ca12000530-120-68.jpg查看全部
-
@二进制——数据转化 1、数字转化方式如图 2、字符串:getBytes()查看全部
-
@二进制——JDK内置的进制转换 static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行分析。 static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。查看全部
-
@二进制基础——位运算 一、异或作用 1、对某个数定位翻转:0^0=0 1^0=1 0^1=1 1^1=0 · 翻转位异或1 · 不翻转位异或0 2、两个变量值交换:A=A^B;B=A^B;A=A^B(条件:A!=B) 二、左右移 1、左移<< :左丢弃,右补0,但注意整形为32位 2、右移>> :右丢弃,左补0(整数)或者1(负数) 3、无符号右移>>> : 右丢弃,左补0查看全部
举报
0/150
提交
取消