转换步骤 1. 检测输入的原进制数字符串合法性(12.34.45、 234a4.7x*f、(23.489)8 ) 2. 是否为负数,给出标记 3. 原进制数字符串转换为十进制正数值 4. 先分离十进制数值的整数和小数部分d和c 5. 十进制整数d,按求解方法得到序列a0 , a1 , … , an-1 , an,并换算为目标进制数对应的数码字符,得到整数部分的目标进制数字符串ord 6. 十进制小数0.c,按求解方法得到序列a-1 , a-2 , … , a-m,并换算为目标进制数对应的数码字符,得到小数部分的目标进制数字符串orc 7. 串ord+“.”+orc,若为负数,之前还的加上”-”,即得到所求目标进制字符串c++
时间: 2024-03-29 12:41:05 浏览: 45
进制转换 把一个任意的十进制正整数 N 转换成 d 进制数。 N 是一个正整数,d 是一个大于 1 小于 10 的整数,二者均由用户输入,且两数字用换行分隔。
是的,您给出的转换步骤大致正确。下面是对每个步骤的详细解释:
1. 检测输入的原进制数字符串合法性,包括小数点的数量、非法字符等,确保输入的字符串能够被正确解析和转换。
2. 检测原进制数是否为负数,如果是,需要在转换后的目标进制数字符串前面加上负号。
3. 将原进制数字符串转换为十进制数值。这一步需要根据原进制数的类型(二进制、八进制、十六进制等)进行相应的转换计算。
4. 分离十进制数值的整数和小数部分。
5. 将十进制整数部分按照求解方法得到序列 a0, a1, ..., an-1, an,并换算为目标进制数对应的数码字符,得到整数部分的目标进制数字符串 ord。
6. 将十进制小数部分按照求解方法得到序列 a-1, a-2, ..., a-m,并换算为目标进制数对应的数码字符,得到小数部分的目标进制数字符串 orc。
7. 将字符串 ord 和 orc 以小数点连接起来,得到所求目标进制字符串。如果原进制数为负数,需要在前面加上负号。
需要注意的是,在不同的编程语言和库函数中,实现这些步骤的具体方法可能会有所不同,需要根据具体语言和库函数的文档说明进行相应的调整。
阅读全文