若采用十进制数的表示形式,则0111为()

[复制链接]
查看11 | 回复2 | 2016-12-1 21:28:26 | 显示全部楼层 |阅读模式
若采用十进制数的表示形式,则0111为()
0111这不应该是个二进制数么?但是怎么答案怎么按8进制计算 八进制不应该是3位么 0111是四位啊? 怎么判断是8进制不是2进制的
如果用十进制表示 这道题书上的答案是73
但是怎么可能是8进制ne?
8进制在C语言中不是以0开头 然后用3位数表示么? 那像这个0111和 2进制怎么去区分?

回复

使用道具 举报

千问 | 2016-12-1 21:28:26 | 显示全部楼层
这是一个比较变态的题目,但的确是对的。在C语言程序中没有二进制格式书写的整数,只有十进制、八进制和十六进制,完全按照前缀来区分。无前缀的是十进制、0前缀的是八进制,0x前缀的是十六进制。0111也是0前缀的,所以是八进制,64+8+1。
回复

使用道具 举报

千问 | 2016-12-1 21:28:26 | 显示全部楼层
兄弟,看到这个问题我挺无语的。看在你问了一道的份上~~~八进制不是一定要三位,仅仅只是指二八转换的时候的简单记法。0111是八进制数,转化为十进制 0*8*8*8+1*8*8+1*8+1*1=73一般上,八进制以0开头,数字为0~7;十六进制以0x开头,数字为0~9、a~f。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行