时间:2021-05-19
借助Java语言,运用递归算法计算整数N的二进制表示中1的个数
/*use the recursive algorithme to calculate * the number of "1" in the binary expression * of an Integer N. * Note:if N is an odd, then * the result is the result of N/2 plus 1. * And the program use the bit operation to * improve efficency ,though it's seemingly * not necessary ,but the idea I think is good. * The program is writed by Zewang Zhang ,at * 2015-5-4,in SYSU dorms. */ public class CalculateNumberInBinaryExpression { //Main method. public static void main(String[] args) { //For example ,make N equals 13 ,the result shows 3 System.out.println(numOfEven(13)); //For example ,make N equals 128 ,the result shows 1 System.out.println(numOfEven(128)); } //The static method of numOfEven is the recursive method. public static int numOfEven(int x) { //The base of recursive. if(x==0) { return 0; } //If x is an odd. else if(x%2!=0) { return numOfEven(x>>1)+1; } //If x is an even except 0. else { while(x%2==0) { x=(x>>1); } return numOfEven(x); } }}来个最简单的,不过未测试:)
public int a(int i){ if(i==0||i==1) return i; return i%2+a(i/2);}以上所述就是本文的全部内容了,希望大家能够喜欢。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python十进制转二进制python中十进制转二进制使用bin()函数。bin()返回一个整数int或者长整数longint的二进制表示。下面是使用示例:>>
计算机中处理的数据在计算机内部是以二进制数的形式储存,二进制是计算技术中广泛采用的一种数制,二进制数据是用0和1两个数码来表示的数。 计算机(computer
字长是计算机信息处理中能同时处理的二进制数据的长度。二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二
数据的表示形式是二进制,是计算机的表示方法,可以说是机器语言。就是用0和1表示信息。二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数来表示的数。
用C语言实现将十进制转化为二进制,并统计转换后的二进制码中1的个数。#includeintbinaryNum[16];//存放转换后得到的二进制码intcoun