gpt4 book ai didi

c - 如何在C中将二进制数转换为两位十进制数

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:51 25 4
gpt4 key购买 nike

我需要将二进制数转换为两位十进制数。例如:

01111 becomes 15
00011 becomes 03

我不只是想显示数字。我需要将每个数字放入一个 int 变量中。假设我有两个 int 变量,leftnum 和 rightnum。

然后在第一个例子中,leftnum = 1 和 rightnum = 5。在第二个例子中,leftnum = 0 和 rightnum = 3。

有两个限制使这有点困难。 mod 和/只能与 2 的幂一起使用。

最佳答案

int i = 0;
do {
i ++;
} while (i * 10 <= originalInt);

int leftInt = i - 1; // e.g. for "originalInt = 40" -> "i = 5", so we must decrement 1
int rightInt = originalInt - leftInt * 10;

或更紧凑并使用更少的变量:

int leftInt = 0;
do {leftInt ++;} while (leftInt * 10 <= originalInt);
int rightInt = originalInt - (-- leftInt) * 10;

关于c - 如何在C中将二进制数转换为两位十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5276178/

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