ql_zth 发表于 2015-2-6 20:44

【每天学点C语言】菜鸟学习笔记,每日更新!第三天:C数据类型笔记03

本帖最后由 ql_zth 于 2015-2-9 20:29 编辑

今天有事,明日补更!

已更新在最新节次!

(昨天三点多才休息,七点起的床,白天没有睡觉休息过,楼主表示顶不住了,,,今天的更新就留待明天)


虽然不更,但答应给新人答疑,必须做到的!


新人zhu1078966873在第一节问了个问题!(呜呜,终于有人问问题了,值得鼓励!)
问题如下:
3、二进制转换成八进制数
(1)二进制数转换成八进制数:对于整数,从低位到高位将二进制数的每三位分为一组,若不够三位时,在高位左面添0,补足三位,然后将每三位二进制数用一位八进制数替换,小数部分从小数点开始,自左向右每三位一组进行转换即可完成。例如:
将二进制数1101001转换成八进制数,则
(001101001)2
|||
(151)8
(1101001)2=(151)8

(2)八进制数转换成二进制数:只要将每位八进制数用三位二进制数替换,即可完成转换,例如,把八进制数(643.503)8,转换成二进制数,则
(643.503)8
||||||
(110100011.101000011)2
(643.503)8=(110100011.101000011)2
有点不懂来自: Android客户端

答:我建议先看这个的第二点,再看第一点;

八进制数转换成二进制数
看上述给出的例子(我就懒得编例子了)
(643.503)8      括号里的就是那个八进制数,外面的8仅仅表示这是八进制
每位八进制数用三位二进制数替换      即6换成二进制表示(个人觉得和十进制转换成二进制差不多),步骤①:6/2=3......0(这个0表示余数),余数是三位二进制数中的最 右边那个,②3/2=1......1,同理余数1也是放在右边,3/2=1,这个1不用再除了,放最后一位,即八进制数6转换二进制数的结果是110,其他的也就是如此来算了!

二进制数转换成八进制数
反过来想就可以了

懂了吗·?不懂再问!




fxlihao 发表于 2015-2-6 20:59

顶一下!!

水神灬沫沫 发表于 2015-2-6 20:58

请问楼主八进制的小数部分如何解决

leijiwei 发表于 2015-2-6 20:55

原来学过,现在忘的差不多了,楼主分享一下,刚好看看,谢谢了

10086184 发表于 2015-2-6 20:55

不懂的是、数据类型很重要么?只知道精准度大小有用、但是二进制、或者十进制、用不到的、或许我是刚开始学习的原因吧、希望楼主解答一二、谢谢了!

fxlihao 发表于 2015-2-6 21:00

原来学过,现在忘的差不多了

小可爱~ 发表于 2015-2-6 21:19

水神灬沫沫 发表于 2015-2-6 20:58
请问楼主八进制的小数部分如何解决

0.16
1*1/8+6*1/(8*8)
应该是这样

yss35 发表于 2015-2-6 21:41

楼主好像更得有点慢啊,不过感谢分享了!

黑色夢想 发表于 2015-2-6 21:47

刚在学C的数据頪型{:1_921:}

ql_zth 发表于 2015-2-7 00:11

水神灬沫沫 发表于 2015-2-6 20:58
请问楼主八进制的小数部分如何解决

你先去看我的第二天的笔记!
页: [1] 2
查看完整版本: 【每天学点C语言】菜鸟学习笔记,每日更新!第三天:C数据类型笔记03