我将无限精确整数表示为无符号整数数组,以便在GPU上进行处理.出于调试目的,我想打印其中一个数字的基数10表示,但我很难绕过它.这是我想做的事情:
//the number 4*(2^32)^2+5*(2^32)^1+6*(2^32)^0
unsigned int aNumber[3] = {4,5,6};
char base10TextRepresentation[50];
convertBase2To32ToBase10Text(aNumber,base10TextRepresentation);
Run Code Online (Sandbox Code Playgroud)
有关如何解决这个问题的任何建议?
编辑:感谢drhirsch,这是一个完整的实现
#include <string.h>
#include <stdio.h>
#include <stdint.h>
#define SIZE 4
uint32_t divideBy10(uint32_t * number) {
uint32_t r = 0;
uint32_t d;
for (int i=0; i<SIZE; ++i) {
d = (number[i] + r*0x100000000) / 10;
r = (number[i] + r*0x100000000) % 10;
number[i] = d;
}
return r;
}
int zero(uint32_t* number) {
for (int i=0; i<SIZE; ++i) {
if (number[i] != 0) {
return 0;
}
} …Run Code Online (Sandbox Code Playgroud) 我有一个大型正则表达式文件,每行一个.我想反对grep另一个多行文件对照第一个文件中出现的任何正则表达式.像这样的东西:
grep -v fileWithManyRegularExpressions fileThatMightMatchSomeRegularExpressions
Run Code Online (Sandbox Code Playgroud)
除了循环每个正则表达式之外,还有一种优雅的方法吗?
这个问题出自 Skiena 的The Algorithm Deisgn Manual中的动态规划章节。
给出一个算法来确定是否可以通过粘贴杂志的剪纸来生成给定的字符串。您将获得一个函数,该函数将针对任何给定的字符位置识别该字符及其在页面背面的位置。
我用回溯解决了这个问题,但由于它在动态编程章节中,我认为一定有我无法弄清楚的复发。谁能给我一个提示?
我需要通过将所有A变为T,T变为A,C-> G和G-> C来反转DNA文本串.
我可以在没有整个sed全局替换命令链的情况下在sed(或其他命令行)中优雅地处理这个问题吗?
可能重复:
Mercurial:如何忽略对跟踪文件的更改
我在Mercurial存储库中有一个文件,我想作为示例配置文件,但在我开发它时,我想对它进行特定的更改,我不想跟踪,比如数据库密码.我尝试将该文件添加到.hgignore,但Mercurial仍然注意到修改.
我是否可以在Mercurial存储库中"跟踪"文件,但忽略该文件的未来本地更改而不将其从存储库本身中删除?
我正在网络服务器上创建一个我希望可执行的远程目录路径。我使用如下命令远程创建它:
ssh user@machine mkdir -p a/b/c/d/e/f
接下来,我希望能够 chmod 目录a-f但避免执行chmod -r在远程目录根目录上执行 a 操作。
是否有一种优雅的机制可以从a/b/c/d/e/f路径开始并chmod a+x a; chmod a+x a/b; chmod a+x a/b/c; ...在不解析每个 chmod 的情况下执行有效的操作?
我只是拿起Cython.我正在使用它在我的Python项目中构建一个核心库.目前我已经配置了一个setup.py文件,distutils并且每当我想重新编译Cython文件时,我正在运行以下命令:
python ./setup.py build_ext --inplace
Run Code Online (Sandbox Code Playgroud)
但是,我经常忘记.我喜欢Eclipse每次编辑/保存时如何自动为Java构建类文件.是否可以为PyDev,Eclipse或其他一些聪明的方法配置类似的行为?
简而言之,我想学习/开发一种优雅的方法来将二叉树保存到磁盘(一般树,不一定是BST).这是我的问题的描述:
我正在实施一个"20个问题"的游戏.我写了一个二叉树,其内部节点是问题,叶子是答案.如果有人对你当前的问题回答"是",那么节点的左子节点就是你要遵循的路径,而正确的孩子则是"否"的答案.请注意,这不是二叉搜索树,只是一个二叉树,其左子节点为"是",右侧为"否".
如果通过要求用户将她的答案与计算机所考虑的答案区分开来,该程序遇到一个空的叶子,该程序会向树中添加一个节点.
这很简洁,因为树会在用户播放时自行构建.什么不整洁是我没有一个很好的方法将树保存到磁盘.
我已经考虑过将树保存为数组表示(对于节点i,左边的子节点是2i + 1,右边是2i + 2,父节点是(i-1)/ 2),但它不干净,我最终得到了浪费了很多空间.
有关将稀疏二叉树保存到磁盘的优雅解决方案的任何想法?
我有一个<table>地方,每个<td>只有一个锚.我希望用户能够单击单元格中的任何位置来访问该引用,而不仅仅是锚文本本身.我想必须有一些jQuery才能轻松完成.有人可以帮忙吗?
编辑:为了使事情复杂化,我td有一些顶部和底部填充.一个display: block;规则似乎并没有在这种情况下工作.我编辑了这个例子:
CSS:
table#mainmenu td {
padding: 9px 8px 5px;
border: none;
border-bottom: 1px solid #ccc;
border-left: 1px dotted;
text-align: left;
}
Run Code Online (Sandbox Code Playgroud)
例:
<table>
<tr>
<td><a href="foo.html">Foo</a></td>
<td><a href="bar.html">Bar</a></td>
</tr>
<tr>
<td><a href="foobar.html">FooBar</a></td>
<td><a href="barfoo.html">BarFoo</a></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud) 我想创建一个数组的布尔索引,只要给定列表中的任何整数出现在数组中,该索引就具有真值.现在我通过循环遍历测试整数列表并为每个按位构造一个单独的布尔掩码来做到这or一点:
boolean_mask = original_array == list_of_codes[0]
for code in list_of_codes[1::]:
boolean_mask = boolean_mask | (original_array == code)
Run Code Online (Sandbox Code Playgroud)
没有循环,是否有任何速记numpy符号来做等效的?