package A;
import java.util.LinkedList;
import java.util.Scanner;
class StringStack {
private LinkedList<String> linkedList;
public LinkedList<String> getLinkedList() {
return linkedList;
}
public void setLinkedList(LinkedList<String> linkedList) {
this.linkedList = linkedList;
}
public StringStack()
{
linkedList=new LinkedList<String>();
}
public void push(String name)
{
//add element into list's head
linkedList.addFirst(name);
}
public String top()
{//get the first element of this list
if(linkedList.isEmpty())
return null;
return linkedList.getFirst();
}
public String pop()
{
//remove the first element from this list
if(linkedList.isEmpty())
return null;
return linkedList.removeFirst();
}
public boolean isEmpty()
{
//is this list empty
return linkedList.isEmpty();
}
}
public class nHEX {
private static String IntegerTonHEX(int num,int mod){
StringStack result=new StringStack();
int quotient=num;
int remainder;
while(quotient>mod||quotient==mod){
remainder=quotient%mod;
quotient=quotient/mod;
result.push(Integer.toString(remainder));
}
result.push(Integer.toString(quotient));
StringBuilder sb=new StringBuilder();
while(!result.isEmpty()){
sb.append(result.pop());
sb.append("");
}
return sb.toString();
}
public static void main(String[] args)throws Exception{
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter the number to be transformed:");
int num=new Integer(scanner.nextLine());
System.out.println("Please enter the number of n-hex:");
int mod=new Integer(scanner.nextLine());
System.out.println("num:"+num);
System.out.println("mod:"+mod);
System.out.println(num+"的"+mod+"进制是:");
System.out.println(IntegerTonHEX(num,mod));
}
}
分享到:
相关推荐
输入一个十进制数n,把它转化为r进制数输出。输入数据包含多个测试实例,每个测试实例包含两个整数n和r
在Android开发中,我们经常会遇到各种算法挑战,其中之一就是如何计算一个十进制数N的二进制表示中“1”的个数。这个任务看似简单,但其实涉及到计算机科学的基础知识,包括二进制转换、位操作以及算法设计。下面...
二进制间隙解决方案Javascript 正整数N内的二进制间隙是连续零的任何最大序列,在N的二进制表示形式的两端都被一个1包围。 例如,数字9的二进制表示形式1001并包含长度2的二进制间隙。数字529的二进制表示形式...
首先,我们可以使用递归的方式来输出整数的二进制表示。如`BinaryRecursion`函数所示,通过不断将数字右移并取模2,可以得到每一位的二进制值,直到数字变为0。这种方法简洁明了,但效率可能较低,因为涉及多次函数...
本篇文章将详细探讨如何使用C++来计算一个整数在二进制表示中0或1的个数,并深入分析其背后的原理。 #### 核心知识点概述 1. **位操作**:通过位操作符对二进制位进行直接操作,如位“与”(`&`)、位“或”(`|`)等...
- 初始化一个空的字符数组来存储二进制表示。 - 将输入的十进制数不断除以2,获取余数,将余数添加到字符数组的前面。 - 每次除法后,将商继续作为新的数进行处理,直到商为0。 - 最后,字符数组的元素顺序需要...
在计算机科学中,我们经常接触到不同的进制表示方法,主要包括: - **十进制**:日常生活中最常用的计数系统,基数为10,采用0~9十个数字进行计数。 - **二进制**:计算机内部处理数据时所使用的进制,基数为2,只...
例如,`std::bitset(10)`会创建一个表示数字10的32位二进制位集,你可以使用`.to_string()`方法获取二进制表示。 2. **十进制到其他进制**:将十进制转换为其他进制(如八进制或十六进制),可以使用内置函数`std::...
正整数无序分拆算法设计及论证,如果错误请指正。
输入共一行,包含两个整数N(32位正整数)和R(2, R<>10)。 输出: 输出转换后的数,输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10-16分别用A-F表示,等等)。 输入样例: 23 12 6687 16 ...
`StringBuilder`用于构建结果字符串,每次得到的余数被追加到末尾,最后通过反转字符串得到正确的r进制表示。 当运行上述代码,输出将是:“十进制数 3456 转换为 8 进制是:4710”。这是因为在8进制下,3456等于4*...
三、二进制表示正整数 对于非负整数,其二进制表示遵循“逢二进一”的规则。例如,十进制数5在二进制下为101,因为5 = 4 + 1,4是2的2次幂,1是2的0次幂。如果要将一个较大的非负整数转换为二进制,可以使用除2取...
在C++编程中,"输出n个整数的所有子集"是一个常见的数据结构与算法问题。这个问题涉及到集合论和位运算,是理解计算机科学中基本概念的一个好练习。在这个实验一中,我们的目标是设计一个程序,它能够接收n个整数...
2. 转换过程:遍历输入字符串,用指针`p`指向当前字符,初始化一个整型变量`n`用于存储转换后的十进制值。在循环中,`n`乘以8(对应八进制的权重),再加上当前字符表示的八进制值(通过`*p-'0'`获取,因为字符'0'到...
Java进制转换 正整数的十进制转换二进制 将一个十进制数除以二,得到的商再...二进制转十进制的转换原理:从二进制的右边第一个数开始,每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加即是十进制数
(1)对于给定的正整数集合S={w_1,w2,……,wn}和正...(3)给定一个自然数N,0\leN\le4999和M各不同的十进制数字X1,X2,……,XM, 找出由这些数字所构成的正整数中N的倍数最小的正整数,设该正整数不超过232-1。 (4)
例如,对于2进制转换,我们可以将10进制数除以2的余数依次压入栈,然后依次弹出并组合得到2进制表示。8进制和16进制转换类似,只是除数分别变为8和16。 在C++中,实现这些转换可以定义一个通用的函数,接受基数作为...
- 模N进制是一种非十进制的计数系统,其中N是任意正整数。在这种系统中,任何数值都是0到N-1之间的整数。 - 它广泛应用于数字信号处理、编码理论、计算机科学等领域,因为它可以有效地减少计算复杂性和存储需求。 ...
程序需读取数据集,每个数据集包含一个正整数n(1 <= n ^6),然后输出这个数在二进制表示下的1的位数,且输出的数字应按升序排列。 解题策略分为以下几步: 2.1 **算法设计**:这个问题可以通过简单的位操作或...
2的次幂指的是2的任意正整数次方,如2^0、2^1、2^2等。次幂运算在计算机科学中无处不在,尤其是在计算和数据结构中。数的拆分则是指将一个数分解为更小的部分,这里特指分解为2的次幂。 在实际编程中,实现这个功能...