是否有可能通过使用纯位加法,减法除以10的无符号整数,也许繁衍?使用资源非常有限且速度慢的处理器.
我有这样的代码(简化):
def outer():
ctr = 0
def inner():
ctr += 1
inner()
Run Code Online (Sandbox Code Playgroud)
但是ctr会导致错误:
Traceback (most recent call last):
File "foo.py", line 9, in <module>
outer()
File "foo.py", line 7, in outer
inner()
File "foo.py", line 5, in inner
ctr += 1
UnboundLocalError: local variable 'ctr' referenced before assignment
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?我认为嵌套的范围可以让我这样做.我试过'全球',但它仍然无效.
要在两个变量之间进行线性插值a并b给出一个分数f,我目前正在使用此代码:
float lerp(float a, float b, float f)
{
return (a * (1.0 - f)) + (b * f);
}
Run Code Online (Sandbox Code Playgroud)
我认为这可能是一种更有效的方法.我正在使用没有FPU的微控制器,因此浮点运算是在软件中完成的.它们相当快,但它仍然可以添加或增加100个周期.
有什么建议?
为了清楚起见,在上面的代码中,我们可以省略指定1.0为显式浮点文字.
Python说我需要4个字节的格式代码为"BH":
struct.error: unpack requires a string argument of length 4
Run Code Online (Sandbox Code Playgroud)
这是代码,我认为需要3个字节:
major, minor = struct.unpack("BH", self.fp.read(3))
Run Code Online (Sandbox Code Playgroud)
"B"无符号字符(1字节)+"H"无符号短(2字节)= 3字节(!?)
struct.calcsize("BH")表示4个字节.
编辑:文件大约800 MB,这是在文件的前几个字节,所以我很确定还有剩余的数据需要读取.
我的处理器是一个没有FPU和整数数学的小型16位微控制器,只有16/16分频和32/16分频,都需要18个周期.目前我正在使用一个非常慢的软件程序(约7,500个周期)进行64/32分割.有没有办法使用这些分区引擎来计算64/32分区?类似于我已经使用16x16乘法器和加法器来计算32x32乘法?我正在使用C但可以使用任何关于如何完成的一般性解释......我希望能够达到<200个周期(如果可能的话).
我想做一些像PHP,Python和大多数其他编程语言的东西:
my_array_name = [128, 38459, 438, 23674...]
Run Code Online (Sandbox Code Playgroud)
所以我尽力在Delphi/Pascal中复制它:
HSVtoRGB := [0, 0, 0];
Run Code Online (Sandbox Code Playgroud)
(这是针对给定HSV值返回RGB数组的函数.)
但是我收到了错误:
[DCC Error] Unit2.pas(44): E2001 Ordinal type required
[DCC Error] Unit2.pas(45): E2010 Incompatible types: 'HSVRealArray' and 'Set'
Run Code Online (Sandbox Code Playgroud)
任何的想法?这是学校的工作 - 但我的老师不知道答案.
我正在用subprocessPython 启动一个程序.
在某些情况下,程序可能会冻结.这是我无法控制的.我从命令行中唯一可以做的就是CtrlEsc快速杀死程序.
有没有办法模仿这个subprocess?我正在使用subprocess.Popen(cmd, shell=True)启动该程序.
我试图列出系统可能具有的磁盘驱动器.
在Windows上,它可能类似于"C:/","D:/","E:/".
在Linux上,它可能类似于"/ boot","/ media/SDCard"等.
我不知道它在Mac上是什么样的.也许/ Volumes下的东西.
有没有人知道Python中的跨平台方式(即在Linux,Windows和Mac上运行的方式)?
谢谢!
哦:快速说明,我正在运行Python 2.6.
我正在寻找有关存储地图的理想数据库或数据结构的建议.从本质上讲,地图由道路,路径等"道路"组成.道路包含节点(具有纬度和经度坐标,有时还有高度).
任何此类数据库或结构:
应该能够快速定位边界框中的所有节点(毫秒)
可选地,当大量节点在边界框中而不是少量节点时,或者如果边界框很大时,不应该显着减慢速度
应该能够找到直接连接的节点:例如,连接两种方式的节点
可以只读
应该是紧凑的(避免浪费空间) - 我希望将英国的地图放入不到1 GB的范围内.我有一个卫星导航,在SD卡上有大约800 MB的空间.
我最初想的是四叉树存储方式.但是快速实现很棘手,并且它们不适用于单个节点; 所有节点都可以放在最小的bbox中.
(我故意使用相同的Open Street Map术语,因为我打算使用那些数据.)
我正在制作一个A2计算程序,它可以输出大量数据.我在本地网络上的硬盘分配大约是50 MB,因此它是测试"无磁盘空间"错误的好选择.
目前,当程序空间不足时,它会在I/O错误112的情况下崩溃.如果文件可能超出可用空间,我想提前警告.我知道文件有多大(平均每条记录24.8字节),所以我需要做的就是找出多少空间是免费的.
当我在网络驱动器上工作时,如果有文件路径\\qmcsan1\Cxxxxx$\filename.csv,我该如何使用函数DiskFree来计算可用空间?任何这样的功能也需要处理本地驱动器C:/.
任何想法都非常感激.