java中提取整數上的各比特數字,數比特求和,兩種解法!

程序員社區 2022-01-08 04:43:56 阅读数:952

java 中提 提取 各比 比特

數比特之和計算:

算法中遇到很多到題都是要計算一個整數的各比特數字,這裏提供二種解法。

1.末尾取餘法

設一數字 x ,向下取整除法符號 //,求餘符號 ⊙ \odot ,則有:

  • x ⊙ 10 x \odot 10 x10 :得到 x 的個比特數字;
  • x / / 10 x // 10 x//10 : 令 x 的十進制數向右移動一比特,即删除個比特數字。

因此,可通過循環求得數比特和 s ,數比特和計算的封裝函數如下所示:

int sums(int x) int s = 0; while(x != 0) {
 s += x % 10; x = x / 10; } return s;

2.轉字符串法

 int n=12345; char[] chars=String.valueOf(n).toCharArray(); for(int j=0;j<chars.length;j++){
 System.out.print(chars[j]+" "); }//1 2 3 4 5 
版权声明:本文为[程序員社區]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201080443563860.html