这个问题:如何解交织比特(UnMortonizing?)有一个很好的答案,可以提取莫顿数的两半中的一个(只是奇数位),但我需要一个解决方案来提取两个部分(奇数位和尽可能少的操作.
对于我的使用,我需要采用32位int并提取两个16位整数,其中一个是偶数位,另一个是奇数位右移1位,例如
input, z: 11101101 01010111 11011011 01101110
output, x: 11100001 10110111 // odd bits shifted right by 1
y: 10111111 11011010 // even bits
Run Code Online (Sandbox Code Playgroud)
似乎有很多解决方案使用带有幻数的移位和掩码来生成Morton数(即交错位),例如Binary Magic Numbers的Interleave位,但我还没有发现任何反向(即去交错) .
UPDATE
在重新阅读Hacker's Delight中关于完美洗牌/洗牌的部分后,我找到了一些有用的例子,我改编如下:
// morton1 - extract even bits
uint32_t morton1(uint32_t x)
{
x = x & 0x55555555;
x = (x | (x >> 1)) & 0x33333333;
x = (x | (x >> 2)) & 0x0F0F0F0F;
x = (x | (x >> 4)) & 0x00FF00FF;
x = …Run Code Online (Sandbox Code Playgroud) 几天前,我设法将我的第一个iPhone应用程序上传到Apple的App Store.我的应用程序基于核心数据,因此它包含用户数据到他们的设备.
我想知道的是,无论是否更改Core Data,升级应用程序时会发生什么?(改变意味着增加新的实体或财产等)
根据我的经验,我从Apple的App Store下载了我自己的应用程序并保存了一些数据然后我使用XCode从我的计算机安装了相同的应用程序,只是略微改变了与Core Data无关的界面.当我打开应用程序时,数据就在那里.
它是安全的,只要我们不碰核心数据,用户数据不会影响iPhone的应用程序的升级版上传到苹果App Store假设?
我有这个代码来自django示例教程
from django.db import models
from datetime import datetime
# Create your models here.
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_today(self):
return self.pub_date.date() == datetime.date.today()
Run Code Online (Sandbox Code Playgroud)
我收到此错误:IndentationError:意外缩进
在这条线上:
def __unicode__(self):
Run Code Online (Sandbox Code Playgroud)
任何想法有什么不对?
我正在考虑开始一个个人宠物网项目来试验不同的东西并扩展我的知识.
我在工作中使用Java很多(对于Web应用程序:D)并且正在考虑在Python中创建自己的Java,因为我有点像这种语言,但从未通过简单的脚本阶段.
我想加强关于Python的设备(使用2.6.5)并且不知道会发生什么或者选择哪种框架:Django,Pylons,web2py等.
我也不知道这些框架会给我带来多少,以及我需要从头开始写多少.
如果有人可以提供给我,我可以使用与Java的比较.我正在考虑过滤功能,例如sitemesh,自定义标签,如JSTL; 在Python中,我可以编写带有标签的HTML的干净页面,或者编写大量的print语句(像Java中的servlet一样吗?
我不确切地知道如何说出这个问题.
我实际上需要介绍如何在Python中执行Web开发,在什么级别以及Web框架带来的内容.
你能分享一下你的经历吗?
TIA!
我正在创建一个AppHarbor MVC3应用程序,并希望使用标准的成员资格提供程序支持.AppHarbor的人告诉我,我需要为我可以在AppHarbor数据库上运行的表结构创建脚本.但是,我并不熟悉数据库.如何为默认成员资格表创建和执行脚本?
那么,我如何让Textmate使用1.9.6的分支MacRuby,而不是OSX中的默认Ruby,1.8.7?
我需要从字符串中删除不需要的字符.我想使用preg替换,但我在正则表达式上没用.
我的字符串应该只允许az AZ 0-9和空格.没有其他人物.
例如:
some string's-are#bad
Run Code Online (Sandbox Code Playgroud)
会成为:
some stringsarebad
Run Code Online (Sandbox Code Playgroud)
非常感谢
我想开发一个ISAPI过滤器,该过滤器将读取URL的标头,这将与ASP .NET应用程序通信。可以在C#中实现,还是我需要在C ++中进行开发,并创建一个CLI / C ++ DLL,以便ASP .NET应用程序可以与C ++ dll通信。
目标:纯画布上的Android> = 1.6.
假设我想编写一个绘制(宽度,高度)大红色矩形的函数,然后在里面绘制一个黑色的Hello World文本.我希望文本在视觉上位于矩形的中心.所以让我们试试:
void drawHelloRectangle(Canvas c, int topLeftX,
int topLeftY, int width, int height) {
Paint mPaint = new Paint();
// height of 'Hello World'; height*0.7 looks good
int fontHeight = (int)(height*0.7);
mPaint.setColor(COLOR_RED);
mPaint.setStyle(Style.FILL);
c.drawRect( topLeftX, topLeftY, topLeftX+width, topLeftY+height, mPaint);
mPaint.setTextSize(fontHeight);
mPaint.setColor(COLOR_BLACK);
mPaint.setTextAlign(Align.CENTER);
c.drawText( "Hello World", topLeftX+width/2, ????, mPaint);
}
Run Code Online (Sandbox Code Playgroud)
现在我不知道在标记为drawText的参数中放什么????,即我不知道如何垂直对齐文本.
就像是
???? = topLeftY + height/2 + fontHeight/2 - fontHeight/8;
似乎或多或少有效,但必须有更好的方法.