零总是为零,所以没关系.但在最近与我的朋友讨论时,他说今天几乎没有使用八进制文字.然后我突然意识到我的代码中几乎所有的整数文字都是八进制的,即0.
0根据C++语法是八进制文字吗?标准说什么?
尝试在JavaScript中执行以下操作:
parseInt('01'); //equals 1
parseInt('02'); //equals 2
parseInt('03'); //equals 3
parseInt('04'); //equals 4
parseInt('05'); //equals 5
parseInt('06'); //equals 6
parseInt('07'); //equals 7
parseInt('08'); //equals 0 !!
parseInt('09'); //equals 0 !!
Run Code Online (Sandbox Code Playgroud)
我刚刚学会了JavaScript认为前导零指示八进制整数的困难方式,并且由于没有"8"或"9"在base-8中,该函数返回零.无论喜欢与否,这都是设计的.
解决方法有哪些?
注意:为了完整起见,我即将发布解决方案,但这是我讨厌的解决方案,所以请发布其他/更好的答案.
更新:
请解释在执行以下代码段时会发生什么:
int a='\15';
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
这打印出13;
int a='\25';
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
这打印出21;
int a='\100';
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
这打印出64.
我读过这个.它是C++中的八进制和Java中的十进制.但没有关于C的描述?
如果0是八进制还是十进制,它会有什么不同吗?这是我的采访者提出的问题.我说没有,我解释说无论是八进制还是十进制,它始终为0.
然后他问为什么它被认为是C++中的八进制和Java中的十进制.我说这是标准.请告诉我C中的内容是什么?会有什么不同吗?为什么它们在不同标准上有所不同?
我是python的初学者,我正在尝试在我的脚本中使用八进制数字,但是当我尝试它时,它会返回我的错误:
>>> a = 010
SyntaxError: invalid token (<pyshell#0>, line 1)
>>> 01
SyntaxError: invalid token (<pyshell#1>, line 1)
Run Code Online (Sandbox Code Playgroud)
我的代码有问题吗?我正在使用Python3(并阅读python 2.2书)
我已经看到二进制和十六进制经常使用但从未八进制.然而,八进制在某些语言中使用它有自己的约定(即,指示八进制基数的前导0).何时使用八进制?使用八进制或八进制的一些典型情况会更容易推理吗?或者仅仅是品味问题?
你们中的一些人可能会认识到这是Project Euler的问题编号11.带有网格的问题.
我试图在一个大的多维数组中复制网格,但它给了我一个语法错误,我不知道为什么
grid = [
[ 08, 02, 22, 97, 38, 15, 00, 40, 00, 75, 04, 05, 07, 78, 52, 12, 50, 77, 91, 08 ],
[ 49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 04, 56, 62, 00 ],
[ 81, 49, 31, 73, 55, 79, 14, 29, 93, 71, 40, 67, 53, 88, 30, 03, 49, 13, 36, 65 ],
...
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
File "D:\development\Python\ProjectEuler\p11.py", line 3
[ 08, … 我认为八进制文字是非常危险的东西,每当我阅读源代码时,我都希望它们非常明显.
必须有一种方法可以在Eclipse中执行此操作,对吧?
所以看起来标准Eclipse无法配置为执行此操作?需要定制颜色吗?
运行以下代码时出现以下错误:
码:
<?php
$a = array(00001, 00008, 00009, 00012);
print_r($a);
?>
Run Code Online (Sandbox Code Playgroud)
错误:
解析错误:无效的数字文字.
为什么会出现这个问题,我该如何解决?
经过这么长时间,我从没想过要问这个问题; 我理解这来自c ++,但背后的原因是什么:
为何0?为什么是0x?基础-32有自然进展吗?