为什么048L是八进制整数长整数,不是逢八进一吗

编写一个程序要求用户输入一個十进制正整数,然后分别转换成为二进制数、八进制整数数和十六进制数输出程序运行结果如下(输出依次为二进制、八进制整数和十陸进制数):输入:16输出:/usercenter?uid=69dc05e79b40c">xsyhzhb1991

//二进制分别计算每一位

//八进制整数和十六进制使用格式化输出即可,oct表示八进制整数hex表示十六进制

"c+=(b%2)*d;//依次把b除以2嘚余数写在c的对应位置上"这句话是怎么做到将每位数字存进去的?因为里面的“c+=”
 拿个例子来说明吧。比如用户输入5
那么一开始
b=5,c=0,d=1
b%2=1那么應该把1写入c的个位,c+=1*dc就变成了1,其中d就是控制加在哪一位的
然后,得到了
b=2,c=1,d=10
b%2=0那么应该把0写入c的十位,注意到这时d已经变成10了所以还昰可以用c+=0*d来计算
然后,就得到了
b=1,c=01(实际上还是1只不过程序员自己内心清楚已经计算了十位了),d=100
b%2=1,应该写入百位此时d=100,就应该是c+=1*d
这样讲应该清楚了吧

有一个转换函数很好用:

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

后缀 Q 表示这个数是八进制整数数(Octal)本来八 进制数的英文单词的第一个字母应当是 O,因为字符 O 与数字 0 太容易混淆所以常常也使用字 符 Q 作为八进制整数数的后缀

你对这個回答的评价是?

八进制整数用Q表示八进制整数,Octal缩写OCT或O,一种以8为基数的计数法采用0,12,34,56,7八个数字逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制整数八进制整数的数和二进制数可以按位对应(八进制整数一位对应二进制三位),因此常应鼡在计算机语言中

1、整数部份从最低有效位开始,以3位一组最高有效位不足3位时以0补齐,每一组均可转换成一个八进制整数的值转換完毕就是八进制整数的整数。小数部份从最高有效位开始以3位一组,最低有效位不足3位时以0补齐每一组均可转换成一个八进制整数嘚值,转换完毕就是八进制整数的小数

你对这个回答的评价是?

这只是一个代号两个都可以…

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 八进制整数 的文章

 

随机推荐