小编eag*_*arn的帖子

如何做两个补码乘法和整数除法?

我已经阅读了关于使用两个补码的二进制乘法的这篇文章.但对我来说不是很清楚.即使我很难理解维基文章.我想知道如何计算负数的乘法:

eg: -1 with -7 should give 7.
A 4-bit, 2's complement of -1 is : 1111
A 4-bit, 2's complement of -7 is : 1001
Run Code Online (Sandbox Code Playgroud)

计算乘法的一些逐步方法将是有帮助的.没有我遇到过关于分裂的文章.怎么解决这个问题?

binary bits multiplication division twos-complement

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

什么必须是Java中的空对象的哈希码?

据该评论,hascodenull objectsthrow NPE或值zero.这是特定于实现的.但相同的实现中,为什么 Objects.hashcodehascode(instance)返回不同的值.对于前:

public class EqualsTesting {

    public static void main(String[] args){
        String p1 =null;
        String p2 = null;
        System.out.println(Objects.hashCode(p1));
        System.out.println(p2.hashCode());

    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

0
Exception in thread "main" java.lang.NullPointerException
    at BinaryTrees.EqualsTesting.main(EqualsTesting.java:14)
Run Code Online (Sandbox Code Playgroud)

如果是这样的话,这会不会影响到key look-upHashMap那里null Key-value pairs是允许的.(它可能既hashbucket 0throw a NPE)

java object hashmap hashcode

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

del运算符如何在python中的列表中工作?

我已经阅读了python docsfor listdel运算符的工作方式,但我需要解释以下行为

在这种情况下,cl指向同一个对象(列表),因此对一个进行更改会影响另一个,但删除一个不会删除该对象.那么这里发生了什么?这只是pointer列表对象丢失了吗?

>>> l = [1,2,3]
>>> c = l
>>> c.append(4)
>>> c
[1, 2, 3, 4]
>>> l
[1, 2, 3, 4]
>>> del c
>>> l
[1, 2, 3, 4]
>>> c
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'c' is not defined
Run Code Online (Sandbox Code Playgroud)

通过切片操作删除

>>> l
[1, 2, 3, 4]
>>> del l[::2]
>>> l
[2, 4]
Run Code Online (Sandbox Code Playgroud)

l[::2] …

python list del

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

为java编译设置slf4j的类路径

我在设置classpathfor slf4jfor 时遇到问题compiling java files.我尝试了两种方式:1.提供classpathcommand line

javac -cp /Users/page/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar src/main/java/com/scg/domain/*.java src/main/java/com/scg/util/*.java
Run Code Online (Sandbox Code Playgroud)

这给出了以下错误:

src/main/java/com/scg/util/ListFactory.java:8: error: package org.slf4j does not exist
import org.slf4j.Logger;
                ^
src/main/java/com/scg/util/ListFactory.java:9: error: package org.slf4j does not exist
import org.slf4j.LoggerFactory;
...../long error message
Run Code Online (Sandbox Code Playgroud)
  1. 我试图exportCLASSPATH我的env变量.

export CLASSPATH=/Users/page/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar

当我尝试时,这也没有帮助并导致同样的错误

javac src/main/java/com/scg/domain/*.java src/main/java/com/scg/util/*.java
Run Code Online (Sandbox Code Playgroud)

我正在尝试将compile所有java文件分成两部分packages.但我需要slf4j在我的课程中. but somehow I am not able to get it work. 感谢

java javac classpath slf4j

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

如何在python中使用list comprehension从列表中获取元组

我有两个列表,并希望将它们合并到一个列表中tuples.我想这样做list comprehension,我可以使用它map.但很高兴知道这里的列表理解是如何工作的.代码在这里

>>> lst =  [1,2,3,4,5]
>>> lst2 = [6,7,8,9,10]
>>> tup = map(None,lst,lst2) # works fine
>>> tup
[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]
>>> l3 = [lst, lst2]
>>> l3
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
>>> zip(*l3) # works fine
[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]

>>> [(i,j) for i in lst and for j in lst2] # does …
Run Code Online (Sandbox Code Playgroud)

python tuples list-comprehension list

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

程序从python中的字符串中提取每个替代字母?

Python程序通常简洁明了,通常需要其他编程语言(我知道)的一堆行可以在python中用一行或两行完成.我试图编写的一个这样的程序是从字符串中提取所有其他字母.我有这个工作代码,但想知道是否有其他简洁方法可行?

>>> s
'abcdefg'
>>> b = ""
>>> for i in range(len(s)):
...   if (i%2)==0:
...      b+=s[i]
... 
>>> b
'aceg'
>>> 
Run Code Online (Sandbox Code Playgroud)

python string

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

SwingUtilities.invokeLater采用Runnable并在EDT上运行它?

我对签名感到困惑SwingUtilities.invokeLater.它需要一个Runnable对象.这个Runnable对象是否被移交给Event Dispatch Thread?为什么我不能直接调用createAndShowGUIrun方法EDT(如果可能的话)?

我已经阅读过有关EDTinvokeLater如何工作的文章,但我对Runnable传递的对象感到困惑.

SwingUtilities.invokeLater(new Runnable() {
    public void run() {
        createAndShowGUI();
    }
});
Run Code Online (Sandbox Code Playgroud)

如果我在电话SwingUtilities.invokeLater下面再次打电话会怎么样?

SwingUtilities.invokeLater(new Runnable() {
    public void run() {
        createAndShowGUI();
    }
});
SwingUtilities.invokeLater(new Runnable() {
    public void run() {
        doSomethingOnTopOfGUI();
    }
});
Run Code Online (Sandbox Code Playgroud)

java swing multithreading awt event-dispatch-thread

7
推荐指数
2
解决办法
3146
查看次数

如果我的类在Java中实现可比性,我是否需要equals和Hashcode方法?

我发现这个注释可以将StringBuffer对象作为Java中TreeSet中的键吗?

"在Java中使用地图有两种识别策略(或多或少).

散列:输入"Foo"被转换为尽可能最好的尝试,以生成唯一访问数组索引的数字.(纯粹主义者,请不要虐待我,我故意简化).此索引是存储值的位置."Foo"和"Bar"实际上可能生成相同的索引值,这意味着它们都将映射到相同的数组位置.显然这不起作用,所以这就是"equals()"方法的用武之地; 它用于消除歧义

比较:通过使用比较方法,您不需要这个额外的消歧步骤,因为比较首先不会产生这种碰撞."Foo"等于的唯一关键是"Foo".一个非常好的想法是,如果你可以将"equals()"定义为compareTo()== 0; 为了一致的缘故.不是要求."

我的问题如下:如果我的类实现了可比性,那么它是否意味着我不必重写equals和hashcode方法来将我的对象用作Hash集合中的键.例如

class Person implements Comparable<Person> {
     int id;
     String name;

     public Person(int id, String name) {
        this.id=id;
        this.name=name;
     }

    public int compareTo(Person other) {
      return this.id-other.id;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我可以在Hashable集合中使用我的Person对象吗?

java equals hashcode comparable

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

内存地址通常以位为单位

我有这么多的术语感到困惑,例如,我的教练会谈word,byte addressingmemory location.

我的印象是,对于a 32-bit processor,它可以解决2^32 bits,这是4.29 X 10^9 bits (NOT BYTES).

我现在的想法是:

memory是像arraybuckets每一个的1 byte length.

当我们说byte addressing(我猜这是最常见的)时,每个char都是1 byte从第一个桶中检索出来的(例如).为了int下一个4 bytes被放在一起来little-endian ordering计算Integer价值.

所以每一个记忆,我认为它,8 bits或者1 byte,它可以放弃2^8 locations,这远远小于cpu可以解决的问题.

在我看来,有一些非常基本的误解,如果一些专家可以用简单的术语解释一个CS-专业的学生可以永远这样做.

我已阅读各种网页,包括这一项上的字,并在这里unit of address resolution给出8bARM,它增加了更多的我的困惑.

memory byte processor cpu-architecture cpu-word

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

Java中方法,对象,类的同步

关于使用synchronizationin,我需要一些澄清multi-threaded environment.我在Class下面有一个小例子.但我实际上发现很难做出以下内容如何工作的测试用例; 我想要测试用例的原因是要了解如何synchronization处理这些不同的场景


  • 如果一个thread电话SharedResource.staticMethod,将收购lockclass.意思了instanceSharedResource,说X,将不得不等待,直到它得到lock到exectute x.staticMethod.

  • synchronizationthis一个block,获取用于代码或整个该节的锁定object.即可以在另一个thread调用相同method的相同object; 但执行不属于的代码的其余部分synchronization block

  • 如果以上观点属实,那么a dummy objectto lockon不会提供任何额外的好处.正确?

  • 所以有不同的层次synchronziations.Class等级,Object等级和method等级block level.那么这意味着locks这些个人水平应该存在吗?如果我获得了一个锁定Object,另一个Thread无法调用任何methodssame object,但如果我获得了锁定method,另一个thread可以锁定另一个method …

java multithreading synchronization thread-synchronization

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