小编Pab*_*bce的帖子

如何在Java 8和Java 9中使用unsigned Integer?

在Oracle"原始数据类型" 页面中,它提到Java 8增加了对无符号整数和长整数的支持:

int:默认情况下,int数据类型是32位带符号的二进制补码整数,其最小值为-2 31,最大值为2 31 -1.在Java SE 8及更高版本中,您可以使用int数据类型表示无符号的32位整数,其最小值为0,最大值为2 32 -1.使用Integer该类将int数据类型用作无符号整数.有关更多信息,请参阅数字类一节.像静态方法compareUnsigned,divideUnsigned等已被添加到Integer类,以支持算术运算的无符号整数.

long:long数据类型是64位二进制补码整数.签名long的最小值为-2 63,最大值为2 63 -1.在Java SE 8及更高版本中,您可以使用long数据类型表示无符号64位long,其最小值为0,最大值为2 64 -1.当需要比int提供的值更宽的值时,请使用此数据类型.本Long类也包含类似的方法compareUnsigned,divideUnsigned等支持算术运算的无符号long.

但是,我发现无法声明无符号长整数或整数.例如,下面的代码给出了编译器错误消息"文字超出范围"(我当然使用的是Java 8),当它应该在范围内时(指定的值恰好是2 64 -1) :

public class Foo {
    static long values = 18446744073709551615L;

    public static void main(String[] args){
        System.out.println(values);
    }  
} …
Run Code Online (Sandbox Code Playgroud)

java unsigned java-8

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

与blitting有点混淆(Pygame)

我刚开始学习一些pygame(整体编程很新),我有一些关于它是如何工作的非常基本的问题.

我还没有找到一个地方解释我何时需要blit或不在屏幕上包含某个表面.例如,绘制圆形时:

circle = pygame.draw.circle(screen, (0, 0, 0), (100, 100), 15, 1)
Run Code Online (Sandbox Code Playgroud)

我不需要这样做screen.blit(circle),但在显示文字时:

text = font.render("TEXT", 1, (10, 10, 10)) 
textpos = text.get_rect()
textpos.centerx = screen.get_rect().centerx
screen.blit(text, textpos)
Run Code Online (Sandbox Code Playgroud)

如果我不blit,文本将不会出现.

说实话,我真的不知道blitting应该做什么,除了将所需的表面"粘贴"到屏幕上.我希望我已经足够清楚了.

python pygame blit

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

pygame中绘制的表面透明度?

我正在编写一个捕食者 - 猎物模拟使用python和pygame进行图形表示.我正在制作它,所以你可以实际上与一个生物"互动"(杀死它,选择它并在世界各地跟随它等).现在,当你点击一个生物时,一个粗圆圈(由gfxdraw类中的各种消除锯齿的圆圈组成)会吸引它,这意味着你已经成功地选择了它.

我的目标是使该圆圈透明,但根据文档,您无法为绘制的曲面设置alpha值.我已经看到了矩形的解决方案(通过创建一个单独的半透明表面,blitting它,然后在其上绘制矩形),但不是半填充圆.

你有什么建议?谢谢 :)

python transparency pygame

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

为什么+ = x比a = a + x慢?

我正在努力优化我遇到速度问题的python程序.我正在玩另一个文档,其中包含了我的程序中出现的各种可能影响总执行速度的事情.

我找到:

a = 0
for x in range(10000000):
    a += x
return a 
Run Code Online (Sandbox Code Playgroud)

略慢于:

a = 0
for x in range(10000000):
    a = a + x
return a 
Run Code Online (Sandbox Code Playgroud)

第一个脚本执行需要1.5到1.55秒,而第二个脚本需要大约1,36-1.37秒(使用cProfile).

知道为什么会这样吗?谢谢 :)

python python-3.3

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

标签 统计

python ×3

pygame ×2

blit ×1

java ×1

java-8 ×1

python-3.3 ×1

transparency ×1

unsigned ×1