五進制,JSK-127 進制轉換【進制】

 2023-11-18 阅读 13 评论 0

摘要:進制轉換 相信你知道2進制,16進制吧?是否聽說過7進制呢?或者9進制? 五進制、10進制轉2進制是挺簡單的,那么轉其他進制呢? 沒錯,右側的代碼實現10進制數到任意進制(2~9)的轉換,試試修改吧~ 修改后,你就

進制轉換

相信你知道2進制,16進制吧?是否聽說過7進制呢?或者9進制?

五進制、10進制轉2進制是挺簡單的,那么轉其他進制呢?

沒錯,右側的代碼實現10進制數到任意進制(2~9)的轉換,試試修改吧~

修改后,你就明白10進制轉任意進制的基本思路了,加油。

16進制、?

樣例輸入

10 2

樣例輸出

1010

126十進制轉十六進制,?

問題鏈接:JSK-127 進制轉換

問題描述:(略)

126十進制轉換為八進制?問題分析

? 這個題是有關進制轉換的問題。

? 一般,原有進制的值先轉換為10進制整數(多是補碼表示)m,然后再用k模除m,從整數中取出k進制的最低位,再將m按k進制右移1位,重復這個過程直到m變為0為止。然而得到的字符串是逆序的,需要反轉輸出。

程序說明

? 在原有模板程序的基礎上,只修改了第10行和第13行。

? 第10行改為模除(%)。

? 第13行改了循環變量i的初值設置,因為8-12行的循環中,按照循環語句的運行順序,循環體內語句運行完后,就先做i++,然后再判循環結束條件,所以i的初值需要減1。

? 另外,第13行的循環結束條件也需要修改,最低位被放入數組a[]下標為0的元素中,所以要輸出到下標0為止。

參考鏈接:(略)

題記:進制有關的問題是程序設計中常見的問題。

?

AC的C++語言程序如下:

#include <iostream>
using namespace std;
const int N = 1024;void trans(int m, int k)
{//請在這個函數里面修改你的代碼int a[N], i;for(i = 0; m; i++){a[i] = m % k;m /= k;}for(i--; i >= 0; i--)cout<<a[i];
}int main()
{int m, k;cin>>m>>k;trans(m, k);cout<<endl;return 0;
}

?

原有模板的C++語言程序如下:

#include <iostream>
using namespace std;
const int N = 1024;void trans(int m, int k)
{//請在這個函數里面修改你的代碼int a[N], i;for(i = 0; m; i++){a[i] = m / k;m /= k;}for(;i;i--)cout<<a[i];
}int main()
{int m, k;cin>>m>>k;trans(m, k);cout<<endl;return 0;
}

?

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/175942.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息