gpt4 book ai didi

从 ASCII 位模型到仅幅度位模型的转换

转载 作者:行者123 更新时间:2023-11-30 19:49:47 25 4
gpt4 key购买 nike

本质上,我正在尝试编写代码来执行从变量 n 的 ASCII 位模型到变量 x 的仅幅度位模型的转换。我只是假设用户仅输入三位数字。这是我到目前为止所拥有的:

#include <stdio.h>
main()
{
char n[10];
int x;
printf("Enter three digit, nonnegative: ");
scanf("%s" ,n);
.
.
.
printf("The number is %d\n", x);
}

非常感谢任何帮助。

编辑:仅幅度位模型:最简单的位模型适用于非负整数。在这种情况下,每个位代表 2 的非负整数幂。位值为 0 表示位值为 0;位值为 0 表示位值为 0。位值为 1 表示位值。所表示数字的总值是通过将所有位的位值相加得出的。例:8位表示的值为19:0+0+0+16+0+0+2+1=19。

最佳答案

虽然 BLUEPIXY 的答案在技术上完全符合您的要求,但它非常复杂,并且可能不是您想要的任何实际程序,除非您要参加模糊的 C 竞赛。您可能想要更多类似的东西:

int main() {
int x;

printf("Enter three digit, nonnegative: ");
while (scanf("%d", &x) != 1 || x < 100 || x > 999) {
printf("Not a valid input, try again: ");
fflush(stdin);
}
printf("The number is %d\n", x);
return 0;
}

现在这与 BLUEPIXY 编写的不同并接受不同的输入。特别是,它允许(并忽略)空格,忽略数字后的额外内容,如果前导数字为 0,甚至允许输入 4 位以上数字,因此最终数字最终为 100..999。如果您特别想禁止此类输入,则需要更像他写的内容。

关于从 ASCII 位模型到仅幅度位模型的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10490257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com