二进制中1的个数
看到题目首先就得知道把10进制数转为二进制数,然后判断里面为1的数字
题解
自己的思路
先把转为字符串,然后把1替换成空白字符串,然后长度相减就是
Java中判断某个String字符串是否包含特定字符串,并统计个数。
官方按位与
1与1是1,与0是0,然后与起来的值相加就是,其实也可以不与,直接把输入的数所有位的值加起来就行了,因为0没用
每次都是与最后一位,移动的是字符串哈哈哈
移位运算符
<<左移 >>右移
- 左移运算符
最左边的两位就跑到内存单元的外面去了,这两位数字将会被舍弃,右边空出的两位用0补齐。左移N位的操作具有乘以2的N次方的效果
- 带符号右移运算符
带符号右移就是指当二进制串向右边移动以后,左边空出的位用”符号位上的数字”填充,说的更直白一点,如果是正数,二进制串右移的时候用0来填充左边的空位,而对于负数而言,右移的时候用1来填充左边的空位 - 不带符号右移运算符
无符号右移在二进制串移动之后,空位由0来补充,与符号位是0还是1毫无关系 - Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。