其他数制转换成十O在进制中表示(73)O=()D

十六O在进制中表示转换,请用free Pascal语言編写代码?
输入一个不超过100000位的十六O在进制中表示数,请转换成八O在进制中表示数.
一个十六O在进制中表示数,没有前导0(除非是数字0).
一个八O在進制中表示数,没有前导0(除非是数字0).

由热心网友提供的答案1:

开始定義的i是for循环中的循环节作为判断条件使用; cin的操作在for循环中已经进行了8次了

扩展阅读,根据您访问的内容系统为您准备了以下扩展内容希望对您有帮助。

用C++输入一个十O在进制中表示数将其转换为二O在进制中表示数输出。

十O在进制中表示数转换为二O在进制中表示数的代碼为:

代码中所使用的库函数-bitset:

C++语言的一个类库用来方便地管理一系列的bit位而不用程序员自己来写代码。

bitset除了可以访问指定下标的bit位以外还可以把它们作为一个整数来进行某些统计。

可以如下声明一个该类型变量:

其中varm为变量名

N表示该类型在内存中占的位数,是二O在進制中表示

M表示变量varm的初始值。

参考资源:bitset-百度百科

用户输入一个十O在进制中表示正整数然后分别转换成为二O在进制中表示数、八O在進制中表示数和十六O在进制中表示数输出。(是C++不是C)

//二O在进制中表示分别计算每一位

//八O在进制中表示和十六O在进制中表示使用格式化輸出即可,oct表示八O在进制中表示hex表示十六O在进制中表示

如果有不懂请追问。追问"c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上"这句话是怎么做到將每位数字存进去的因为里面的“c+=”?追答拿个例子来说明吧比如用户输入5

b%2=1,那么应该把1写入c的个位c+=1*d,c就变成了1其中d就是控制加茬哪一位的。

b%2=0那么应该把0写入c的十位,注意到这时d已经变成10了所以还是可以用c+=0*d来计算

b=1,c=01(实际上还是1,只不过程序员自己内心清楚已经计算了十位了),d=100

十O在进制中表示转换为二O在进制中表示的c++代码

while(n!=0)//该循环将十O在进制中表示转为二O在进制中表示并存入数组a

//(如果想输出本来位数嘚话就把 7 改成 j - 1 就ok啦)

参考资料:百度百科 O在进制中表示转换

我要回帖

更多关于 O几进制 的文章

 

随机推荐