int TenNum(char a[], int B) { int len, i, num; int sum = 0; len = strlen(a); //求得字符串长度 for (i = 0; i < len; i++) { if (a[i] >= '0' && a[i] <= '9') num = a[i] - '0';//减0是把输入的数转换为ascll码的值 else if (a[i] >= 'A' && a[i] <= 'F') //转换进制超过十进制 字符表示123456789ABCDEFGHIJ num = a[i] - 'A' + 10; sum = sum * B + num;//求ascll值 } return sum; }
时间: 2024-03-15 22:42:33 浏览: 23
这是一个将一个 B 进制的数转换为十进制的函数,其中参数 a[] 表示 B 进制的数的字符串形式。函数中的变量 len 表示字符串的长度,变量 num 表示当前字符对应的数字,变量 sum 表示最终转换得到的十进制数。该函数的核心是通过循环遍历字符串中的每个字符,将其转换为对应的数字,然后乘以权值(即 B 的次方),最后累加得到十进制数。
相关问题
int main() { int B, b; char a[20]; printf("请输入待转换数的进制:"); do { scanf("%d", &B); } while (B < 2 && B > 16); printf("请输入待转换数:"); getchar(); //在此处停留 gets(a); //将输入的n进制数存放在数组a中 int m = TenNum(a, B); //将输入的数字转换成十进制数 printf("请输入需要转成几进制数:"); do { scanf("%d", &b); } while (B < 2 && B > 16); printf("%d进制数%s转换为%d进制数的结果为:", B, a, b); Numchange(m, b); //将十进制数转换为所需进制数 printf("\n"); system("pause"); return 0; }
这是一个进制转换程序的主函数,其中用户需要输入待转换数的进制、待转换数、目标进制。程序首先通过 do-while 循环来保证输入的进制数在 2 到 16 之间,然后通过 getchar() 函数清空输入缓冲区,接着调用 TenNum() 函数将输入的 n 进制数转换成十进制数,然后再次通过 do-while 循环来保证输入的目标进制数在 2 到 16 之间。最后,调用 Numchange() 函数将十进制数转换成所需进制数,并输出结果。整个程序的核心是 TenNum() 和 Numchange() 两个函数,它们分别实现了将任意进制数转换成十进制数和将十进制数转换成任意进制数的功能。
计算二进制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);
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)