话不多说,直接上代码
//acwing第五次周赛第二题有用到这个知识点
int a[100]; //用来存对应位的值
int x,k;
cin>>x>>k; //x是要转化的数,k是想要转化的进制
while(x!=0){
a[i++]=x%k;
x/=k;
}
for(i--;i>=0;i--) //倒序打印出来
cout << a[i];
附加一个位运算的数学知识点
可以看到arr1[i] 与 arr2[] 中所有元素的与arr1[i]&arr2[0]、arr1[i]&arr2[1]…arr1[i]&arr2[j]…的异或值等价于arr1[i] & (arr2[0]^arr2[1]^…^arr[j])
即满足 (a&b)^(a&c) = a&(b^c);