我在我的一堂课上做UTs,我试着用05421代替5421。
据我所知,在整数中放置一个前导零会得到一个八进制数,但如果iy返回2833作为数字,它就不是八进制了。
有人知道幕后发生了什么吗?
发布于 2015-06-01 23:53:52
用零开始一个文字数字(即在源代码中写下来的数字)实际上意味着它将被解释为八进制数字。
然而,这只是对这一数字的解释。它没有在变量旁边存储一个标志,上面写着“这个数字曾经是八进制,表示为这样”,它只写着“嘿!一个数字,我可以表示这个。”并显示该数字的基数-10表示。
您的IDE可能有一个选项可以在不同的基础上显示它的数字,我知道visual studio可以选择在基16 (十六进制)中显示数字。
请注意,正如孔库博努格所说:2833 == 05421
(1 + 2*8 + 4*8*8 + 5*8*8*8 = 2833)
https://gamedev.stackexchange.com/questions/101801
复制