新手询问c++中的十进制到二进制
newbie ask about decimal to binary in c++
这个程序应该把十进制转换成二进制但是我搞砸了
有谁能帮我指出这个错误吗?thanks a lot
#include<conio.h>
#include<stdio.h>
int main(){
int a;
int b[20];
int q = 0;
printf("decimal : ");scanf("%d",&a);
while(a>0)) {
b[q]=a%2;
a=a/2;
q++;
}while(a>0);
printf("binary : ");
for (int i = q-1; i>=0;i--){
printf("%d",b[q]);
}
}
更正后的代码为:
#include<conio.h>
#include<stdio.h>
int main(){
int a;
int b[20];
int q = 0;
printf("decimal : ");scanf("%d",&a);
while(a>0) {
b[q]=a%2;
a=a/2;
q++;
}
printf("binary : ");
for (int i = q-1; i>=0;i--){
printf("%d",b[i]);
}
}
您打印的是b[q]而不是b[i]
你的代码有一些问题:
- 你添加了一个额外的")"的第一个while;
- 第二个'while'是无用的(由于第一个代码正在重复)
- 你没有打印你想要的元素(你应该使用变量'i'),你真正打印的是最后一个0/1之后的值(因为你使用'q')
代码应该是这样的:
#include <conio.h>
#include <stdio.h>
int main() {
int a;
int b[20];
int q = 0;
printf("decimal: ");
scanf("%d", &a);
while (a > 0) {
b[q] = a % 2;
a = a / 2;
q++;
}
printf("binary: ");
for (int i = q - 1; i >= 0; i--) {
printf("%d", b[i]);
}
}
相关文章:
- visual在c++中将十进制数转换为二进制数
- C++十进制到二进制,如何转换
- C++从二进制转换为十进制数
- 我编写了代码将十进制分数转换为其二进制等效数.它编译得很好,但在执行时挂起
- uint8_t同一二进制文件的不同十进制值
- 十进制到二进制转换器 c++
- 如何在C ++中将二进制字符串128位转换为十进制字符串?
- 将二进制转换为十进制,我如何要求用户仅输入二进制
- C++:二进制到十进制w/转换过程的外观
- 如何在C++中将二进制编码十进制转换为 int
- 如何使用链表将负十进制数转换为二进制?
- 十进制,包括负到 32 位二进制转换器
- 输入 1024 后十进制到二进制转换的输出错误?
- 以正确的顺序从十进制转换为二进制
- 二进制反转为十进制数
- 十进制到二进制的实现不能完全适用于我大学的检查器。问题或提示可能是什么
- 如何将值从十进制存储为二进制,使其在 C++ 中将值保存在 6 位
- 使用指数将十进制转换为二进制
- 将40个字节长的数据框从十六进制转换为二进制,然后转换为十进制
- 我通过迭代加法将二进制数转换为十进制并检查单个字符(请参阅代码)的方法有什么问题?