offer 15 二進制中1的個數

二進制中1的個數

image.png
看到題目首先就得知道把10進制數轉爲二進制數,而後判斷裏面爲1的數字html

題解

java十進制轉換成二進制數
進制轉換函數java

本身的思路

image.png
先把轉爲字符串,而後把1替換成空白字符串,而後長度相減就是
Java中判斷某個String字符串是否包含特定字符串,並統計個數。函數

官方按位與

1與1是1,與0是0,而後與起來的值相加就是,其實也能夠不與,直接把輸入的數全部位的值加起來就好了,由於0沒用
image.png
每次都是與最後一位,移動的是字符串哈哈哈spa

移位運算符

<<左移 >>右移.net

  • 左移運算符
    image.png
    最左邊的兩位就跑到內存單元的外面去了,這兩位數字將會被捨棄,右邊空出的兩位用0補齊。
    左移N位的操做具備乘以2的N次方的效果
  • 帶符號右移運算符
    image.png
    帶符號右移就是指當二進制串向右邊移動之後,左邊空出的位用」符號位上的數字」填充,說的更直白一點,若是是正數,二進制串右移的時候用0來填充左邊的空位,而對於負數而言,右移的時候用1來填充左邊的空位
  • 不帶符號右移運算符
    image.png
    無符號右移在二進制串移動以後,空位由0來補充,與符號位是0仍是1毫無關係
  • Java位運算符:Java移位運算符、複合位賦值運算符及位邏輯運算符

和本身減1與

image.png
image.png

轉化成字符串,字符串轉化爲字符流求其總和

image.png

相關文章
相關標籤/搜索