因为是012。前面加了个0。八进制:以0开头,由数字0-7组成,如012,转换为十进制为:1*8+2*8^0=10;十六进制:以0X或者0x开头,前面的十个数分别由0-9表示。
'\012'是一个字符,它的ASCII码是八进制的12,也就是十进制的10,对应的字符是换行符
这是C语言的规则啊,以0开头的,都是代表8进制,以0x的就是16进制
不是的,八进制是%o而不是\0 o为8进制输出,其实就是将后续参数的值,转换为8进制形式,然后进行输出。计算的时候,实际上就是把10进制数转为8进制。转换方法为除8取余法,具体如下:1 整数部分除以8,记录余数;2 判断商是否为0,如果为0,则执行3,否则继续执行1;3 从最后一个余数向前排列...
你主要是不知道进制的算法。举个例子,十进制780等于7*10^2 + 7*10^1 + 7*10^0 同理,八进制的012等于0*8^2 + 1*8^1 + 2*8^0 = 8 + 2 = 10
八进制:012 1*8^1+2*8^0=10 十六进制:0X12=1*16^1+2*16^0=18 ^符号代表冥运算.八进制换算十进制;换算规律是;好比是八进制ABCD,换算过程:A*8^3+B*8^2+C*8^1+D*8^0 十六进制把8换成16就行了.