目的:将十进制转换为二进制
思绪:
首先我们手算的情况是通过求余数算出进制数,同样代码也是通过做除法和求余数的方式,除法是得出下一次的被除数,而求余数是得到进制数
代码:
- #include<stdio.h>
- // 十进制转换为二进制,通过除法求余数
- void getTwo(int n) {
- // res数组存放结果,div是要转换进制的数,mod是余数,flag是标记存放到数组的位置
- int res[30]={0};
- int div = n;
- int mod = 0;
- int flag;
- for (flag=0; div!=0; flag++) {
- // 如果要是十进制转换为八进制只需要修改下面的2为8即可,但是16进制需要重新写
- mod = div % 2;
- div = div / 2;
- res[flag] = mod;
- // res = res * 10 + mod;
- }
-
- // 逆序输出二进制数
- for (int i=flag-1; i>=0; i--) {
- printf("%d",res[i]);
- }
- }
- int main() {
- int n;
- scanf("%d",&n);
- getTwo(n);
- return 0;
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |