小编Jam*_*mes的帖子

延迟槽有什么意义?

因此,根据我对延迟槽的理解,它们在调用分支指令时发生,并且分支之后的下一条指令也从内存加载.这有什么意义?在分支被采取的情况下,你不希望分支后的代码不运行吗?是否节省时间,以防分支机构没有被采取?

我正在查看管道图,看起来分支后的指令正在进行中..

assembly mips pipelining

19
推荐指数
5
解决办法
2万
查看次数

什么时候在Java中使用"this"是合适的

可能重复:
我什么时候应该在课堂上使用"this"?

在引用实例的字段时,如何知道是否使用"this"?

例如:

return this.name
Run Code Online (Sandbox Code Playgroud)

我被教了一个有用的案例.即当输入参数与字段名称相同时:

public void setName(String name) {
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

除此之外,"这个"似乎不需要..还有什么其他案例?

java

13
推荐指数
2
解决办法
473
查看次数

符号T(n)是什么意思?

我们学习了大O符号,但我经常看到T(n).例如,

public static Comparable[] mergeSort(Comparable[] A, int low, int high) {
  if (low < high) { //at least 2 elements?                //cost = c
    int mid = (low + high)/2;                             //cost = d
    Comparable[] A1 = mergeSort(A, low, mid);             //cost = T(n/2) + e
    Comparable[] A2 = mergeSort(A, mid+1, high);          //cost = T(n/2) + f
    return merge(A1,A2);                                  //cost = g n + h
  }
  .... //cost = i
Run Code Online (Sandbox Code Playgroud)

我相信c,d,e,......意味着任意命名的常数.

T(n/2)是什么意思?T标记如何与大O相关?

notation

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

如何将long unsigned转换为unsigned char*?

我试图哈希一个unsigned long值,但哈希函数需要一个unsigned char *,如下面的实现中所示:

unsigned long djb2(unsigned char *key, int n)
{
    unsigned long hash = 5381;
    int i = 0;
    while (i < n-8) {
        hash = hash * 33 + key[i++];
        hash = hash * 33 + key[i++];
        hash = hash * 33 + key[i++];
        hash = hash * 33 + key[i++];
        hash = hash * 33 + key[i++];
        hash = hash * 33 + key[i++];
        hash = hash * 33 + key[i++];
        hash …
Run Code Online (Sandbox Code Playgroud)

c casting

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

标签 统计

assembly ×1

c ×1

casting ×1

java ×1

mips ×1

notation ×1

pipelining ×1