小编Prz*_*ych的帖子

将float + INF,-INF和NAN转换为C中的整数的结果是什么?

是否有任何标准规定了输出应该是什么?

例如这段代码:

#include <stdio.h>
#include <math.h>

int main(int argc, char** argv) {
  float a = INFINITY;
  float b = -INFINITY;
  float c = NAN;

  printf("float %f %f %f\n", a, b, c); 
  printf("int %d %d %d\n", (int) a, (int) b, (int) c); 
  printf("uint %u %u %u\n", (unsigned int) a, (unsigned int) b, (unsigned int) c); 
  printf("lint %ld %ld %ld\n", (long int) a, (long int) b, (long int) b); 
  printf("luint %lu %lu %lu\n", (unsigned long int) a, (unsigned long int) b, (unsigned …
Run Code Online (Sandbox Code Playgroud)

c math standards

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

Objective-C错误:初始化元素不是常量

为什么编译器在提供的代码上给出以下错误消息:"初始化元素不是常量".相应的C/C++代码在gcc下完美编译.

#import <Foundation/Foundation.h>

const float a = 1;
const float b = a + a; // <- error here

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    // insert code here...
    NSLog(@"Hello, World!");
    [pool drain];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

objective-c

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

如何在Google App Engine中实现互联网高分

我想为我的游戏实现互联网高分.并向他们所拥有的玩家提供反馈(不仅仅是top100或类似的东西).在普通的SQL中,它看起来像这样:

SELECT COUNT(*)FROM得分WHERE points>:newUsersPoints

和GQL有类似的东西

db.GqlQuery("SELECT*FROM Score WHERE points>:1",newUsersPoints).count()

但由于count()仅限于1000,因此在我的情况下它不会非常有用.您对如何实现这一点有任何想法吗?

我有两个

第一:

  1. 使用分片计数器的想法(http://code.google.com/intl/pl/appengine/articles/sharding_counters.html)创建新的"表格",用于存储某些范围内的分数(from_points,to_points)

  2. 汇总上表中range.to_points <newUsersPoints的所有计数器

  3. 在新分数为db.GqlQuery("SELECT*FROM Score WHERE points>:1 AND points> =:2 AND points <:3",newUsersPoints,range.from_points,range)的范围内查找分数大于分数的分数. to_points).count()+ sumfrom2

  4. 查找新分数所在的范围并增加其计数器

  5. 计数器的分割范围大于1000(或999),因此3.不会达到限制

  6. 在分数表中添加新分数

这是非常复杂和容易出错的.在添加分数之前,我们可能会增加一些范围和超时.(不是交易)

第二个想法:

有时候(每天一次?)按分数对所有分数进行排序并给它们新的位置(脚本可能超时,所以我们必须以块的形式进行)

要找出我们刚刚在哪个地方获得新分数

db.GqlQuery("SELECT*FROM Score WHERE points>:1 LIMIT 1",newUsersPoints).get().precalculated_position + 1

还有其他想法吗?

google-app-engine gql gqlquery

10
推荐指数
2
解决办法
1702
查看次数

如何强制iPhone/iPod touch同时处理5个以上的触摸?

我想开发一款适用于iPhone/iPod Touch的多点触控(最多8个手指)应用程序.但是在测试我的第一代iPod Touch时,我放了第六根手指,奇怪的事情开始发生了.我没有为第6个手指触摸Touch Began,也没有触及前5个手指的Touch Ended/Cancelled.

你知道任何解决方法吗?它在iPhone/iPod上的表现是否相同?它会在Android上的G1上运行吗?

谢谢

iphone multi-touch

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