c语言编写程序,编写程序, 利用函数ten2two (unsignedx)实现一个无符号十进制转二进制程序。
时间: 2024-02-13 17:02:31 浏览: 76
好的,这是一个简单的C语言程序,可以实现将一个无符号十进制数转换为二进制数的功能:
```c
#include <stdio.h>
void ten2two(unsigned int x)
{
if (x > 1) {
ten2two(x / 2);
}
printf("%d", x % 2);
}
int main()
{
unsigned int decimal;
printf("请输入一个无符号十进制数:");
scanf("%u", &decimal);
printf("该数的二进制表示为:");
ten2two(decimal);
printf("\n");
return 0;
}
```
程序中定义了一个 `ten2two` 函数,该函数采用递归的方式将一个十进制数转换为二进制数,并输出结果。程序主函数 `main` 中首先获取用户输入的无符号十进制数,调用 `ten2two` 函数进行转换后输出结果。
需要注意的是,该程序使用了 `unsigned int` 类型来存储无符号整数,因此在输入时需要使用 `%u` 格式化字符。同时,为了输出的格式美观,程序在最后加上了一个换行符。
相关问题
计算二进制101加上11转十进制代码java
import java.util.Stack;
public class CalService {
private Stack<Integer> stack = new Stack<>();
/**
* 十进制转二进制
*
* @param tenNum 十进制数
* @return 转换的二进制结果
*/
public String ten2Two(Integer tenNum) {
StringBuilder sb = new StringBuilder();
cal(tenNum);
//输出栈的所有内容得到结果
while (!stack.empty()) {
sb.append(stack.pop().toString());
}
return sb.toString();
}
private void cal(Integer tenNum) {
//除2取商
Integer quotient = tenNum / 2;
//除2取余,把余数放入栈中
stack.push(tenNum % 2);
//如果余数大于1继续计算,否则计算结束
if (quotient > 1) {
//递归计算
cal(quotient);
} else {
stack.push(quotient);
return;
}
}
}
// 计算二进制101加上11转十进制代码
int binarySum = Integer.parseInt("101", 2) + Integer.parseInt("11", 2);
System.out.println(binarySum);
阅读全文