c - 十进制到二进制的转换在某些情况下不起作用
问题描述
输入:
Enter a decimal number: 12
输出:
The binary number is : 1100
我应该尝试这种方式->
#include <stdio.h>
int main(void){
int input=get_input();
long long complete_integer=binary_conversion(input);
reverse_digits(complete_integer);
}
int get_input() {
int number = 0;
printf("Enter a decimal number: ");
scanf("%d",&number);
return number;
}
int binary_conversion(int number,int value) {
long long complete_integer = 0;
int base=2;
while (number != 0) {
//Take the last digit from the integer and push the digit back of complete integer
complete_integer = complete_integer * 10 + number%base;
number /= base;
}
printf("Completed integer number : %d\n",complete_integer);
return complete_integer;
}
int reverse_digits(long long complete_integer) {
int binary = complete_integer;
int last_digit = 0;
while(binary != 0) {
last_digit = last_digit * 10 + binary % 10;
binary /= 10;
}
printf("The binary number is: %d",last_digit);
}
我几乎接近解决方案。但是我的系统不适用于所有条件,例如如果我提供输入
Enter a decimal number: 12
它给出了我的代码的输出,例如
Binary numbers are: 11
所以,这就是问题所在。我在哪里做错了?我该如何解决这个问题?
解决方案
推荐阅读
- sql - 与join相关的SQL查询
- python - 在 NumPy 数组中获取唯一行时保持顺序
- r - 如何使用“汽车”包修复安装错误
- c# - OpenXML-生成excel文件后复制公式不起作用
- docker - 使用临时 docker 容器时,收到此错误消息“”无法解组 DNS 消息“
- javascript - 计数器设置为0后执行ajax
- java - 删除主题不适用于 kafka java 客户端 2.1.0
- python-3.x - Python 3 - 在没有 TypeError 的情况下写入 .html 的正确方法
- r - 将向量划分为列表
- reactjs - React Native 开发者菜单有时不显示实时重新加载选项