一.进制的概念
常见进制的运算规则:
二进制:逢二进一
基数为2,数值部分用两个不同的数字0、1来表示。
十进制:逢十进一
基数为10,数值部分用0、1、2、3、4、5、6、7、8、9来表示。
十六进制:逢十六进一
基数是16,有十六种数字符号,除了在十进制中的0至9外,还另外用6个英文字母A、B、C、D、E、F来表示十进制数的10至15
二.转换模板
十进制转n进制模版:
public static String con(int x,int n)
{
StringBuilder str=new StringBuilder();
while(x>0)
{
str.append(x%n);//取每一位的值
x/=n;
}
return str.reverse().toString();//返回反转字符串
}
三.例题
1.二进制中1的个数
public class Main
{
static String con(long x,int n)
{
StringBuilder str=new StringBuilder();
while(x>0)
{
str.append(x%n);
x/=n;
}
return str.reverse().toString();
}
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int x=scan.nextInt();
/*获取表示Number对象值的无符号String对象,
将参数的字符串表示形式返回为无符号十进制值*/
String c=Integer.toUnsignedString(x,2);
int cnt=0;
for(int i=0;i<c.length();i++)
{
if(c.charAt(i)=='1')
cnt++;
}
System.out.print(cnt);
scan.close();
}
}