我一直在阅读Kochan的书"Objective-C编程"中的Objective-C中的位运算符.
我对这一部分非常困惑,尽管到目前为止我已经真正了解了大部分内容.
以下是本书的引用:
按位AND运算符
按位AND运算经常用于屏蔽操作.也就是说,可以容易地使用该运算符将数据项的特定位设置为0.例如,语句
w3 = w1 & 3;
Run Code Online (Sandbox Code Playgroud)
w3将w1的值与常数3进行逐位AND运算.这与将w中的所有位设置为相同的效果,除了最右边的两位为0,并保留w1中最右边的两位.
与C中的所有二进制算术运算符一样,二进制位运算符也可以通过添加等号用作赋值运算符.该声明
word &= 15;
Run Code Online (Sandbox Code Playgroud)
因此执行与以下相同的功能:
word = word & 15;
Run Code Online (Sandbox Code Playgroud)
此外,它具有将除最右边的四位字之外的所有字设置为0的效果.当使用常量执行按位运算时,以八进制或十六进制表示法表示常量通常更方便.
好的,这就是我想要了解的内容.现在,我对这整个概念非常困惑,我只想找一点澄清,如果有人愿意帮我解决这个问题.
当书现在引用"设置所有位"时,所有位......究竟是什么.这不仅仅是第二个基数中的0或1,换句话说,二进制?
如果是这样,为什么在第一个例子中除了"最右边2"到0之外的所有位?它是2,因为它是3 - 1,从我们的常数中取3吗?
谢谢!
我们已经构建了一个在客户端计算机上运行的Windows服务,该服务偶尔会下载其自身的较新版本,然后执行自我更新:安装新服务,启动它,停止旧服务并最终将其删除。该服务无法直接停止自身并做其他事情,因此它旋转了另一个可执行文件,完成了一些工作。正确地做到这一点是棘手的,当使用较新的.Net Framework构建较新的服务时(例如最近从.Net 2.0到.net 4.0的转换),这尤其糟糕。问题是.Net 2.0库无法在.Net 4.0服务上运行。
现在,一种方法是让服务的旧版本旋转一个新版本附带的帮助程序,但是...如果该服务的行为发生了重大变化,该怎么办?即使有些事情通常保持不变,我也对不混淆版本感到更安全-有助于降低设计复杂性。
现在,在Windows Services上似乎有一种.Net版本无关的操作方式:该sc.exe工具:http : //support.microsoft.com/kb/251192
我想知道这是否真的是我寻求的银弹。现在,因为我将以编程方式调用此人并检查错误,所以我不妨为此使用API。理想情况下,我将有一个本机C ++项目,该项目可编译为与SC.exe接口的本机exe。这可能吗?如果没有,那我该如何在不同计算机上定位sc.exe?它们可以是32位或64位,并运行从Win XP SP2 / 3开始的任何版本的Windows。
让我知道您是否对我的问题有疑问,或者有一些巧妙的想法,或者对我在此处提出的确切问题有答案。
编辑:如果我尝试使用2.0代码安装4.0服务,则会收到与执行相同的错误:
> C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe MyService4.exe
Run Code Online (Sandbox Code Playgroud)
Microsoft(R).NET Framework安装实用程序2.0.50727.4927版本(c)Microsoft Corporation。版权所有。
初始化安装时发生异常:System.BadImageFormatException:无法加载文件或程序集“ file:/// [path] \ MyService4.exe”或其依赖项之一。该程序集由比当前加载的运行时新的运行时构建,无法加载。
我正在将一个包含大量格式化文本的日志写入.net windows窗体应用程序中的文本框.
一旦数据超过几兆,它就会很慢.因为我追加字符串必须每次都重新分配吗?我只需要将值设置为文本框一次,但在我的代码中我做了line+=data数万次.
有更快的方法吗?也许一个不同的控制?我可以使用链接列表字符串类型吗?
我可以写程序
int a = 3;
int b = 4;
Console.WriteLine(a % b);
Run Code Online (Sandbox Code Playgroud)
我得到的答案是3. 3 mod 4 = 3怎么样?
我无法弄清楚这是如何以这种方式计算的.
如何从与我的程序位于同一文件夹中的外部xml文件加载设置?或者我应该使用旧的.ini文件?它只是我需要传递给我的应用程序的MySQL服务器名称和位置名称.
我有这个问题:
SELECT diamond_id, carat, clarity, color, cut,
CASE clarity
WHEN "FL" THEN 0
WHEN "IF" THEN 1
WHEN "VVS1" THEN 2
WHEN "VVS2" THEN 3
WHEN "VS1" THEN 4
WHEN "VS2" THEN 5
WHEN "SI1" THEN 6
WHEN "SI2" THEN 7
WHEN "I1" THEN 8
WHEN "I2" THEN 9
WHEN "I3" THEN 10
ELSE -1
END AS clarity_score,
CASE cut
WHEN "ideal" THEN 0
WHEN "excellent" THEN 1
WHEN "very good" THEN 2
WHEN "good" THEN 3
WHEN "fair" THEN …Run Code Online (Sandbox Code Playgroud) 对于那些在Notepad ++中编码的人,我只想确认Notepad ++没有任何内置的调试功能(即设置断点的能力,逐步执行并查看执行过程中的值).我是PHP编码的新手,我正在寻找一个好的编辑器/ IDE来使用.由于我想要一个调试功能,你的答案将极大地帮助我缩小选择范围.请注意,我最近下载并且实际上正在使用Notepad ++,并且似乎无法从Notepad ++菜单中找到内置调试器或调试插件.提前致谢.
基本上,这是我的视图层次结构(如果这很难读,我会道歉......我是新来的,所以发布的建议很乐意接受)
--AppControls.xib
-------(UIView)ControlsView
-----------------(UIView)TopBar
------------- ---- -------------- btn1,btn2,btn3
----------------- UIView)BottomBar
------- ---------- -------------- slider1 btn1,btn2
--PageContent.xib
----------------- (UIView)ContentView
----------------- -------------- btn1,btn2,btn3
---------- ------- --------------(UIImageView)FullPageImage
我的情况是,我想隐藏和显示控件,当点击PageContent上的任何地方而不是按钮并且控件显示时,就像iPhone视频播放器一样.但是,当显示控件时,我仍然希望能够单击PageContent上的按钮.
除了最后一点,我完成了所有这些工作.当控件显示控件的背景时,接收触摸事件而不是下面的视图.在ControlsView上关闭用户交互会在其所有子节点上关闭它.
我已经尝试在我的ControlsView子类上重写HitTest,如下所示,我在类似的帖子中找到了:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
UIView *hitView = nil;
NSArray *subviews = [self subviews];
int subviewCount = [subviews count];
for (int subviewIndex = 0; !hitView && subviewIndex < subviewCount; subviewIndex++){
hitView = [[subviews objectAtIndex:subviewIndex] hitTest:point withEvent:event];
}
return hitView;
}
Run Code Online (Sandbox Code Playgroud)
但是,此时我的滑块不起作用,大多数其他按钮也不起作用,事实上,事情开始变得怪异.
所以我的问题很简单:如何让视图的所有子视图都有触摸事件,而超级视图的背景是不可点击的,下面视图上的按钮可以接收触摸事件.
谢谢!
我正在尝试调整在计时器上更新的绘图代码(matplotlib)的基础结构,从使用绘图数据的Python列表到使用numpy数组.我希望能够尽可能地缩短绘图的时间步长,并且由于数据可能会达到数千个点,如果我不能,我会开始快速失去宝贵的时间.我知道numpy数组对于这类事情是首选,但我无法弄清楚何时需要像Python程序员一样思考,何时需要像C++程序员一样思考,以最大限度地提高内存访问效率.
它在scipy.org文档中说append()函数,它返回附加在一起的数组的副本.所有这些副本都能正确收集垃圾吗?例如:
import numpy as np
a = np.arange(10)
a = np.append(a,10)
print aRun Code Online (Sandbox Code Playgroud)
这是我对C++级别的内容的阅读,但如果我知道我在说什么,我就不会问这个问题,所以如果我错了请纠正我!= P
首先分配10个整数的块,并且符号a指向该块的开头.然后分配一个包含11个整数的新块,总共使用21个整数(84个字节).然后将a指针移动到11-int块的开头.我的猜测是,这会导致垃圾收集算法将10-int块的引用计数减少到零并解除分配.这是正确的吗?如果没有,我如何确保在追加时不会产生开销?
我也不确定如何在使用它时正确删除numpy数组.我的图上有一个重置按钮,只是刷新所有数据并重新开始.当我有名单时,这是使用完成的del data[:].是否有numpy数组的等效函数?或者我应该只说data = np.array([])并指望垃圾收集器为我做的工作?
具有以下功能:
=FREQUENCY(C2:C724,D2:D37)
Run Code Online (Sandbox Code Playgroud)
第二个参数是 BIN
我不明白的是,为什么Excel会增加BIN其余值.BIN不会改变!它保持不变.然而,当我为所有值粘贴公式时,它会这样做:
=FREQUENCY(C2:C724,D2:D37)
=FREQUENCY(C2:C724,D3:D38)
=FREQUENCY(C2:C724,D4:D39)
Run Code Online (Sandbox Code Playgroud)
最后一列是生成的(这是正确的,但它没有意义!!)
Etoh bin
15.9 20 0
14.6 19 0
14.1 18 0
13.9 17 0
13.3 16 0
13.3 15 0
13.2 14 1
12.6 13 2
12.1 12 3
11.8 11 6
11.5 10 4
11.2 9 4
11 8 8
10.5 7 10
10.3 6 26
10.3 5 27
10.2 4 40
10.1 3 89
9.8 2 151
9.7 1 205
9.5 0 102
9.1 -1 17
8.9 …Run Code Online (Sandbox Code Playgroud)