小编Eip*_*ifi的帖子

Python 3中的协议缓冲区-NotImplementedError

我正在尝试在Python 3项目中使用Google协议缓冲区。但是,生成的python文件不想与google.protobuf库配合使用。尝试使用protobuf对象会导致NotImplementedError。

我的设置:

  • 的Python 3.4.1
  • 协议2.5.0

使用这些库时出现问题:

例:

from pb_test import test_pb2
pb_object = test_pb2.TestMsg()
pb_object.Clear()  # results in NotImplementedError
Run Code Online (Sandbox Code Playgroud)

当使用两个不同的库时,会出现相同的问题,这强烈表明存在无效的test_pb2.py文件。“未实现”的方法位于Message类中,该类应该被元类覆盖。似乎根本没有应用元类。

test.proto文件:

message TestMsg {
  required int32 id = 1;
}
Run Code Online (Sandbox Code Playgroud)

使用以下命令编译文件:

eipifi@debvm:~/pb_test$ protoc --python_out=. test.proto
Run Code Online (Sandbox Code Playgroud)

任何提示将不胜感激。

python protocol-buffers python-3.x

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

C:超过256位整数的指数

我正在处理一个运算无符号256位整数的算法,我需要编写一个函数来计算给定公式的值

uint256 compute(uint16 x) {
    return floor(exp2(x / 256)) - 1;
}
Run Code Online (Sandbox Code Playgroud)

我们可以看到等式保留了变量边界(compute(0) == 0,compute(65535) == 1<<255).该划分应被视为有理数的划分,而不是整数.

提出的语法是伪C,但我正在寻找可以在其他语言中使用的通用算法方法.

非常感谢你的帮助和时间.

c precision exponentiation arbitrary-precision

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