有许多inbulit函数,如int(八进制),可用于在命令行上将八进制数转换为十进制数,但这些在脚本中不起作用.int(0671)在脚本中返回0671,其中它表示python命令行上的八进制数的十进制形式.救命???
谢谢
我之前没有在编程课中学到这一点,但现在我需要知道它.学习这些数字以及如何转换它们有什么好的资源?我几乎要像时间表一样记住这些.
这是我不明白的事情:
一个文件具有权限0644,如果我使用php的fileperms()函数返回16804作为整数,如果我做一个var_dump().这两者之间的关系是什么/在哪里?如何将a转换为0755,转换为0755返回的任何fileperms().
谢谢
组*
我的导师说"八进制字节由6位组成".我很难理解为什么会这样,因为八进制数字由3个二进制位组成.我也不明白八进制字节被定义为'6位'而不是其他数字的重要性.
任何人都可以解释为什么会这样,如果它确实是真的,或者指出一个有用的解释?
在回答其中一个问题时,我遇到了这个有趣的情况.
如果我有如下字符串,Netbeans不会抱怨它是一个illegal start of expression.
String temp="\19825655.";
Run Code Online (Sandbox Code Playgroud)
一旦我删除'1',它就会抱怨它是一个illegal start of expression.
String temp="\9825655.";
Run Code Online (Sandbox Code Playgroud)
无法弄清楚这种行为的原因.任何输入将不胜感激.
观察:似乎\9并\8具有特殊的意义.只为我\9而且\8我得到了illegal start of expression.所有其他组合都没有抱怨.
今天我只是在玩一个从一个基地到另一个基地的基本转换.我调整了一些代码,用于从十六进制转换为八进制,我注意到它主要使用中间转换为十进制或二进制,然后返回到八进制.是否可以编写我自己的函数将十六进制字符串转换为八进制字符串而不使用任何中间转换.我也不想使用printf像%x或的内置选项%o.感谢您的投入.
标题几乎是自我解释的...
如何回显八进制字符串?
我试过了 :
<?php
echo '\047\131\145\141\162\040\072\040\047'.'<br>';
echo decoct('\047\131\145\141\162\040\072\040\047').'<br>';
echo decoct('047').decoct('131').decoct('145').decoct('141').decoct('162').decoct('040').decoct('072'),decoct('040').decoct('047').'<br>';
?>
Run Code Online (Sandbox Code Playgroud)
但没有什么对我有用....
我很确定这里需要一些小调整但是......哪一个?
谢谢!
以下是java on datatypes中的一些代码:
class Test
{
public static void main(String args[])
{
int i = -0777;
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud)
上面代码的输出是-511
如果代码更改为:
class Test
{
public static void main(String args[])
{
int i = -777;
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud)
输出为-777.
为什么输出不同??? 这段代码背后的计算是什么?
如何将 *argv[] 中的八进制字符串用于以下内容:
open("outfile",O_CREAT | O_RDWR,0777);
Run Code Online (Sandbox Code Playgroud)
0777 表示八进制数的许可。
我的代码:
int arC = atoi(argv[optind]);
printf("argv optind %s after atoi %d\n",argv[optind],arC);
int test =des2=open("createfile",O_CREAT | O_RDWR,arC);
printf("fd %d\n",test);
Run Code Online (Sandbox Code Playgroud)
终端输出:
./copymaster -c 0777 in
argv optind 0777 after atoi 777
fd 5
Run Code Online (Sandbox Code Playgroud)
但权限未设置为 0777。open()只是忽略arC.
如何将此字符串转换argv[optind]为open()命令的可用形式?
为什么n进去
const int n = -0123;
Run Code Online (Sandbox Code Playgroud)
八字形文字?我认为所有八进制文字都必须以0开头,而这个文字不会以负数开头.
这是我知道的一个小点,但它让我很困惑!