十进制转化为其他进制

本文介绍如何使用短除法将十进制数如579转换为8进制,通过实例演示了计算过程,并提供了相应的C++函数change()来展示算法。

主要思路:

用短除法。将十进制数除去你要转化的进制,比如是二进制就÷2。最后将余数反过来。

举个例子:

将579转化为8进制。余数分别为3011,所以答案就是1103。
在这里插入图片描述

相关代码:

int a[1001];
void change(int num1,int num2)
{
    if(num1==0)
        cout<<"0";
    while(num1!=0)
    {
        a[count]=num1%num2;
        count++;
        num1=num1/num2;
    }
    for(int i=count-1;i>=0;i--)
    {
        cout<<a[i];
    }
}
### Java 中十进制与其他进制间的转换方法 #### 十进制转二进制 为了将十进制整数转换为二进制字符串,在Java中有多种方式。一种常见的方式是利用`Integer.toBinaryString()`静态方法,该方法接收一个整型参数并返回对应的二进制表示形式的字符串[^2]。 ```java int decimalNumber = 10; String binaryString = Integer.toBinaryString(decimalNumber); System.out.println(binaryString); // 输出: 1010 ``` 另一种自定义实现可以通过不断除以基数(对于二进制来说就是2),并将余数收集起来形成最终的结果。这种方法同样适用于手动构建转换逻辑。 #### 十进制八进制 针对从十进制八进制转换,可以直接调用内置函数`Integer.toOctalString()`来简化操作过程。此函数接受一个整数值作为输入,并输出相应的八进制字符串表达式。 ```java int decimalNumber = 64; String octalString = Integer.toOctalString(decimalNumber); System.out.println(octalString); // 输出: 100 ``` 如果想要了解底层原理,则可以模仿上述提到的手动计算流程,只是这次使用的基数变为8而已。 #### 十进制转十六进制 当涉及到由十进制向十六进制转变时,最简便的做法莫过于运用现成工具类中的`Integer.toHexString()`成员函数。它能够快速有效地完成这一任务,提供给定数字的小写十六进制字符序列。 ```java int decimalNumber = 255; String hexStringLowercase = Integer.toHexString(decimalNumber); System.out.println(hexStringLowercase); // 输出: ff // 若要获得大写字母版本,可以在打印前加上toUpperCase()方法 String hexStringUppercase = Integer.toHexString(decimalNumber).toUpperCase(); System.out.println(hexStringUppercase); // 输出: FF ``` 除了这些便捷的方法外,也可以按照之前描述过的通用原则自行编写代码来进行此类变换;不过通常情况下推荐优先考虑官方API所提供的解决方案,因为它们经过充分测试且性能更优。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值