小编P i*_*P i的帖子

评估整数是否为POT(2的幂)

可能重复:
查询是否数字是2的幂
如何检查数字是否为2的幂

我需要这个原型的函数体:

bool isPOT(int x);
Run Code Online (Sandbox Code Playgroud)

所以它将返回例如isPOT(3)= FALSE,但isPOT(8)= TRUE

什么是最漂亮/简洁的算法?什么是最有效的?

PS:我很惊讶我在SO上找不到这个问题,所以我完全期待有人发现一些重复.

PPS:有人可以创建POT,NPOT,Power-Of-Two标签吗?

c algorithm bit-manipulation

5
推荐指数
2
解决办法
586
查看次数

使用JSONKit解析JSON文件

我正在构建一个音叉应用程序.前叉应允许最多12个预设音高.

此外,我希望允许用户选择一个主题.每个主题都将加载一组预设(不必使用所有预设).

我的配置文件看起来像这样*:


theme: "A3"
comment: "An octave below concert pitch (ie A4 440Hz)"
presets: {
    A3 220Hz=220.0
}

// http://en.wikipedia.org/wiki/Guitar_tuning
theme: "Guitar Standard Tuning"
comment:"EADGBE using 12-TET tuning"
presets: {
    E2=82.41
    A2=110.00
    D3=146.83
    G3=196.00
    B3=246.94
    E4=329.63
}

theme: "Bass Guitar Standard Tuning"
comment: "EADG using 12-TET tuning"
presets: {
    E1=41.204
    A2=55.000
    D3=73.416
    G3=97.999
}
Run Code Online (Sandbox Code Playgroud)

...需要提取到这样的结构:


@class Preset
{
    NSString* label;
    double freq;
}

@class Theme
{
    NSString* label;
    NSMutableArray* presets;
}

NSMutableArray* themes;
Run Code Online (Sandbox Code Playgroud)

如何使用JSON编写文件?(我想在用户方面创建一个最小的打字 - 我可以如何简洁地获得它?有人可以给我一个第一个主题的例子吗?)

如何使用https://github.com/johnezang/JSONKit将其解析为结构?

parsing json file objective-c ios

5
推荐指数
2
解决办法
2万
查看次数

用C嵌入Python

我想在C应用程序中使用基于事件的Python库.我使用官方C-API嵌入Python:http://docs.python.org/2/c-api/index.html#c-api-index

从C调用方法并收集返回值是没有问题的.但是,我不知道如何做到以下几点:

几个python库函数采用我认为是python函数指针作为参数.

从C调用这些方法时,是否可以传递C函数指针,以便Python函数使用C函数作为回调?

如果没有,如何让Python使用C回调?

c python python-2.7

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

查找集合中的大多数不同元素

假设我们有一家香水店,有100种不同的香水.

假设有10,000个顾客,每个香水都有一到五颗星.

让我们说问题是:"如何最好地构建一包5种香水,以便95%的顾客至少给其中一种香水评价4+"

怎么做这个算法?

注意:我可以看到即使问题没有正确形成; 不能保证这种结构甚至存在.在两个参数之间进行权衡.

注意:此外,(这使得香水类比变得有点人为),无论我们得到一个好的比赛还是三个好比赛都没关系.所以{4.3,0,0,0,0}相当于{4.3,4.2,4.2,4.2,4.2} - 在这两种情况下得分均为4.3.

让我们说为了论证的目的,香水0-19是甜的,香水20-39是酸的,等等(sim.盐,苦,unami)

因此0-19之间会有很高的互相关.

如果你用空间中的100个点建模,那么0-19将非常强烈地相互吸引,它们将组成一个簇.

同样地,对于其他四种口味,您将获得另外4个群集.

因此,从一个指标,我们已经分离出5种不同的口味.

但这种技术是否会扩展?

π

PS只是提供相关技术的名称将非常有用,因为这将允许我向谷歌提供进一步的信息.所以任何回答只是在业界公认的术语中重申这个问题会有用!

language-agnostic algorithm

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

C#/.NET MIDI音序器:解析MIDI文件并生成定时音符开消息

我需要解析MIDI文件并在适当的时刻生成note-on消息.

我目前正在使用http://csharpsynthproject.codeplex.com/的端口 (这是这里的端口)

这个端口的问题在于,音序器和合成器彼此如此密集,以至于试图将它们分开是一个很大的问题.

因此,我正在寻找另一种方法.

π

.net c# midi parsing

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

Unity3D - 向同一地区的其他手机发送信息

假设我们有一群10人,彼此距离不到20米.每个人都有一部手机(iPhone/android/Windows手机).

一个人点击屏幕发送消息.

这是其他人立即注册的.同步是关键.它必须在几毫秒内击中所有目标设备.

我怎么能这样做?

  • 网络套接字:我看不到这个工作,因为不能保证任何Wi-Fi网络.也许我将一部手机设置为接入点,其他手机连接到它?
  • 蓝牙:也许吧?
  • 音频:也许,声音的速度可能足够接近时间分辨率.但凌乱.
  • 还要别的吗?

我在Unity3D工作,虽然它允许移动插件我可以按平台单独实现.

只有iphone的解决方案仍然会引起人们的兴趣.

编辑:请不要只说"使用蓝牙"

编辑:改写问题的一种方法:是否可以设置一堆手机,以便可以在它们之间发送UDP数据包?(Ad-Hoc网络?)

编辑:链接: 在iOS中通过蓝牙在两个设备之间传输NSString通过蓝牙在 iOS和Android之间传输数据?

mobile synchronization unity-game-engine

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

选择性转发功能

任务是创建一个单参数函数,该函数转发除了一个(Foo)之外的所有类型(它转换为Bar).

(我们假设存在从Foo到Bar的转换).

以下是使用场景:

template<typename Args...>
void f( Args... args )
{
    g( process<Args>(args)... );
}
Run Code Online (Sandbox Code Playgroud)

(我试图提取/从原来的背景下简化它在这里 -如果我犯了一个错误,请有人告诉我!)

以下是两种可能的实现:

template<typename T>
T&& process(T&& t) { 
    return std::forward<T>(t); 
}

Bar process(Foo x) { 
    return Bar{x}; 
}
Run Code Online (Sandbox Code Playgroud)

和...

template <typename T, typename U>
T&& process(U&& u) {
    return std::forward<T>(std::forward<U>(u));
}

template <typename T>
Bar process(Foo x) {
    return Bar{x};
} 
Run Code Online (Sandbox Code Playgroud)

我有良好的权威(这里),第二个是更好的.

但是,我无法理解给出的解释.我认为这是深入研究C++中一些最黑暗的角落.

我想我缺少理解正在发生的事情所需的机器.有人可以详细解释一下吗?如果挖掘太多,是否有人可以推荐用于学习必要的先决条件概念的资源?

编辑:我想补充一点,在我的特定情况下,函数签名将匹配此页面上的typedef-s之一.也就是说,每一个论点将是要么PyObject*(与PyObject作为一个普通的C结构)或一些基本的C类一样const char*,int,float.所以我的猜测是轻量级实现可能是最合适的(我不是过度推广的粉丝).但我真的很想获得正确的思维方式来解决这些问题.

c++ forwarding perfect-forwarding c++11

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

OS X Yosemite(10.10)用于连续语音识别的API

OSX现在已经为多个版本内置了连续语音识别功能.

现在非常好.

OSX 10.10是否有这种连续语音识别引擎的API?

谷歌搜索告诉我,大约在2009年只有NSSpeechRecogniser(OSX上的MS SAPI sdk等价物)

谁能确认是否仍然如此?

我问的是因为我正在构建自己的集成UI,这将是Leap控制器和语音输入的混合.

如果我只能使用OSX的引擎,那就太棒了.否则我认为我没有任何其他好/可行的选择.

speech-recognition dictation osx-yosemite

5
推荐指数
0
解决办法
278
查看次数

如何在 MacBook 键盘上点击(钩住)F7 到 F12 以及电源/弹出

这个问题来自如何在 OSX 上挂接/重新映射任意键盘事件?

到目前为止,我可以使用以下方式点击修饰键和大多数其他键:

    _eventTap = CGEventTapCreate( kCGHIDEventTap, 
                                  kCGHeadInsertEventTap,
                                  kCGEventTapOptionDefault,
                                       CGEventMaskBit( kCGEventKeyDown )
                                     | CGEventMaskBit( kCGEventFlagsChanged )
                                     ,
                                  (CGEventTapCallBack)_tapCallback,
                                  (__bridge void *)(self));
Run Code Online (Sandbox Code Playgroud)

值得注意的是,在采取行动之前F3正确报告键码 (160) 。即我可以通过让事件处理程序返回 NULL 来禁用该操作(从而无法传播事件)。

但是,F7 到 F12 和弹出/电源不会触发回调。

如果我添加:

                                     | CGEventMaskBit( NSSystemDefined )
Run Code Online (Sandbox Code Playgroud)

...现在剩余的 Fx 键确实会触发回调(尽管 Power/Eject 仍然不会),但我无法访问事件的 keyCode 方法。

它会产生一个错误:

2015-05-21 12:30:02.044 tap_k[16532:698660] NSSystemDefined: 0 2015-05-21 12:30:02.044 tap_k[16532:698660] * 在 -[NSEvent keyCode]、/SourceCache/AppKit/ 中断言失败AppKit-1347.57/AppKit.subproj/NSEvent.m:2471 2015-05-21 12:30:02.045 tap_k[16532:698660] *由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“发送到事件“NSEvent 的消息无效” : 类型=SysDefined loc=(882,687) 时间=118943.3 标志=0 win=0x0 winNum=0 ctxt=0x0 子类型=8 data1=2560 data2=-1"'

所以要么:
(1)我需要一些其他方式从 …

macos tap objective-c keyboard-events

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

在OSX中,如何确定哪个键盘生成了NSEvent?

我一直在尝试(从事件处理程序中)确定哪个键盘触发了该事件。我一直在使用这两篇​​文章:

在第二篇文章中,作者使用Carbon技术成功地分离了键盘,但是使用Cocoa尝试相同的技巧失败了。

在我自己的系统上,两者都失败了,可能是因为我的无线键盘也是​​苹果制造的,所以可能报告的标识符与内置键盘相同。

在第一篇文章中,有人提出了一种解决方案,该方案在较低级别(可以区分键盘)上监视键盘事件,并将此数据存储在队列中,然后让事件处理程序检索信息。

这看起来有些毛茸茸,所以我只是在这里检查是否有人发现了更好的东西。

这是我的代码,展示了在事件处理程序中区分键盘的失败:

// compile and run from the commandline with:
//    clang -fobjc-arc -framework Cocoa -framework Carbon  ./tap_k.m  -o tap_k
//    sudo ./tap_k

#import <Foundation/Foundation.h>
#import <AppKit/NSEvent.h>
//#import <CarbonEventsCore.h>
#include <Carbon/Carbon.h>


typedef CFMachPortRef EventTap;

// - - - - - - - - - - - - - - - - - - - - -

@interface KeyChanger : NSObject
{
@private
    EventTap            _eventTap;
    CFRunLoopSourceRef  _runLoopSource;
    CGEventRef          _lastEvent;
}
@end

// - - - …
Run Code Online (Sandbox Code Playgroud)

macos iokit nsevent keyboard-events

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