不用int写二进制转十进制
时间: 2023-10-30 16:18:27 浏览: 45
可以用以下代码实现二进制转十进制:
```python
binary = "1010" # 二进制字符串
decimal = 0
for i in range(len(binary)):
decimal += int(binary[i]) * 2 ** (len(binary) - i - 1)
print(decimal) # 输出十进制数
```
解释:
1. 首先定义一个二进制字符串 `binary`,其中包含需要转换的二进制数。
2. 然后定义一个十进制数 `decimal` 初始值为0,用来存储最终的十进制结果。
3. 接着使用 `for` 循环遍历二进制字符串的每一位。在每一位上,将其转换为整数类型并乘上对应的权值,这里的权值就是2的指数,指数的值从字符串末尾依次递减。
4. 最后将每一位的乘积相加,得到最终的十进制结果。
相关问题
c# int型十进制转二进制自己写的
以下是C#中将十进制数转换为二进制数的示例代码:
```csharp
int decimalNumber = 10; // 十进制数
string binaryNumber = ""; // 二进制数
while (decimalNumber > 0)
{
int remainder = decimalNumber % 2; // 取余数
binaryNumber = remainder.ToString() + binaryNumber; // 将余数拼接到二进制数前面
decimalNumber /= 2; // 除以2,更新十进制数
}
Console.WriteLine(binaryNumber); // 输出二进制数
```
在上面的示例代码中,我们定义了一个十进制数 `decimalNumber` 和一个空字符串 `binaryNumber`,用于存储二进制数。然后,我们使用 `while` 循环来将十进制数转换为二进制数。在循环中,我们首先使用取余运算符 `%` 来获取十进制数除以2的余数,然后将余数转换为字符串并拼接到二进制数的前面,最后将十进制数除以2以更新十进制数。循环将一直执行,直到十进制数变为0为止。最后,我们使用 `Console.WriteLine()` 函数输出二进制数。
用c++写十进制转二进制
### 回答1:
很高兴能够回答你的问题,使用 C 语言写十进制转二进制的程序可以参考下面的示例代码: int main()
{
int num;
printf("请输入一个十进制数字:");
scanf("%d", &num);
printf("转换后的二进制数字为:");
decimalToBinary(num);
return 0;
}
// 将十进制数字转换为二进制数字
void decimalToBinary(int n)
{
int remainder;
if (n <= 1)
{
printf("%d", n);
return;
}
remainder = n%2;
decimalToBinary(n/2);
printf("%d", remainder);
}
### 回答2:
在C语言中,可以使用以下代码将十进制数转换为二进制数:
```c
#include <stdio.h>
void decToBin(int num) {
if (num == 0) {
printf("0");
return;
}
int binary[32];
int i = 0;
while (num > 0) {
binary[i] = num % 2;
num = num / 2;
i++;
}
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
printf("其对应的二进制数为:");
decToBin(decimal);
return 0;
}
```
以上代码中,`decToBin` 函数将输入的十进制数转换为二进制数。代码首先判断输入是否为 0,如果是,则直接打印输出 0;否则,使用数组 `binary` 来存储每一位的二进制数。通过不断取余和除以 2 的操作,可以获得所有位的二进制数,并保存到数组中。最后,倒序输出数组中的二进制数即可。在 `main` 函数中,首先接收用户输入的十进制数,并调用 `decToBin` 函数进行转换。最后,输出转换后的二进制数。
运行程序后,用户将被要求输入一个十进制数,并将得到相应的二进制数作为输出结果。
### 回答3:
在C语言中,可以通过以下代码将十进制数转换为二进制数:
```c
#include <stdio.h>
void decimalToBinary(int decimal) {
int binary[32];
int i = 0;
// 将每一位的二进制数存储在数组中
while (decimal > 0) {
binary[i] = decimal % 2;
decimal = decimal / 2;
i++;
}
// 反向输出数组元素,得到二进制数
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
printf("\n");
}
int main() {
int decimal;
printf("请输入一个十进制数: ");
scanf("%d", &decimal);
printf("转换为二进制数: ");
decimalToBinary(decimal);
return 0;
}
```
上述代码中,我们首先定义了一个函数`decimalToBinary`,该函数接受一个十进制数作为参数,并将其转换为对应的二进制数。我们使用一个数组`binary`来存储每一位的二进制数。通过不断除以2取余数的方式,将每一位的二进制数存储在数组中。最后,我们反向输出数组的元素,得到最终的二进制数。
在主函数`main`中,我们首先读取用户输入的十进制数,并调用`decimalToBinary`函数进行转换,并输出结果。
例如,如果用户输入的十进制数为10,则程序将输出对应的二进制数为`1010`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)