小编Joh*_*ohn的帖子

C:在特定的内存位置访问“ char”?

我有兴趣访问为更好地理解事物而分配的内存部分,可以说我分配了10个字节mallocprintf("%p", &foo)返回0xff0a,我是否可以分配0xff0a->0xff1a(我的十六进制数学现在不好)并可以访问以下任何一个那些字节?

我想我记得在此同时使用了关键字volatile和内存地址,但是我不确定该代码能做什么。

我想我的意思是我如何访问内存中的随机字节,将其转换为char或整数,可以存储在指针中以供以后访问。

c memory memory-management

2
推荐指数
1
解决办法
2786
查看次数

PHP:在32位系统上INT_MAX显示错误?

我只是希望测试整数上的溢出,例如在C中(好吧,如果它刚好超过整数最大值).当我查看PHP是否实际上正在执行我告诉它的操作时,它似乎因某些原因而失败.以下是我对问题的测试:

define('INT_MAX', 0x7FFFFFFF);
print "In decimal: " . hexdec(INT_MAX) . "<br/>";
print "In decimal: " . hexdec(0x7FFFFFFE) . "<br/>"; //Under int_max
print "In hex: " . dechex(hexdec(INT_MAX)) . "<br/>";
print "Float: " . ((bool)is_float(INT_MAX)?'true':'false') . "<br/>";
Run Code Online (Sandbox Code Playgroud)

结果是:

小数:142929835591
十进制:142929835590
十六进制:47483647
浮点数:false

正如我在手册中看到的那样,如果被推翻它将会浮动,但它似乎没有并且显然更高.我是疯了还是在这里遗漏了什么,或者在PHP中使用十六进制时我真的需要知道一些奇怪的问题吗?

php compatibility hex overflow

1
推荐指数
1
解决办法
1012
查看次数

Java:简单递归函数只返回1

这奇怪地是我的第一个Java应用程序,我想要实现一个任意精度阶乘函数,我做了递归一个很好,但我的迭代一个只输出"1"而没有别的..这对我来说太晚了我无法发现为什么,我不知道哪里出错了,这里有什么明显的东西吗?

public static BigInteger ifact(BigInteger n) {
    BigInteger ret = new BigInteger("1");
    BigInteger i = new BigInteger("1");
    for(i = new BigInteger("0"); i.compareTo(n) == 0; i.add(new BigInteger("1"))){
        ret.multiply(i);
    }
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

如果您没有注意到它使用了BigInteger软件包,请查看奇怪的文章.

另外,像C一样,你可以做类似于typedef的事情,所以我不需要每次都输入"BigInteger"吗?

编辑:我想我的意思是设定retn,可能是它,或者......可能不是.

java algorithm factorial

1
推荐指数
2
解决办法
321
查看次数

Mono是否支持visual basic(不是.NET)?

有人今天问我是否有可能将一个可视化的基本应用程序移植到Linux或类似的平台上,我认为它是.NET所以我建议使用Mono,但是注意到在他们的vb支持页面上他们只讨论vb 8(.NET) )

mono支持非.NET vb吗?事实上,我不确定他在使用什么,我认为vb6,我根本不确定版本.

vb.net vb6 mono portability cross-platform

1
推荐指数
1
解决办法
700
查看次数

这两个因子函数都在O(n)中运行吗?

递归函数定义如下:

function factrec($x) {
    if($x <= 1) {
        return $x;
    } else {
        return $x * factrec($x - 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

并在这里迭代:

function factiter($x) {
    $y = $x;
    while($y > 1) {
        $x *= ($y - 1);
        $y--;
    }
    return $x;
}
Run Code Online (Sandbox Code Playgroud)

我已经读过,在递归函数中,正文是O(1),递归调用O(n-1)使其成为O(n),但对于迭代,它是否也是O(n)?

php algorithm big-o

0
推荐指数
1
解决办法
865
查看次数