摘要:
Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:(1) 它的地址是多少?(2) 它的字节在内存中是如何组织的? 针对第一个问题,有这样的解释: 对于跨越多个字节的对象,一般它所占的字节都是连续的,它的地址等于它所占字节最低地址。(链表可能是个例外, 但链表的地址可看作链表头的地址)。 比如: int x, 它的地址为0x100。 那么它占据了内存中的Ox100, 0x101, 0x102, 0x103这四个字节(32位系统,所以int占用4个字节)。 上面只是内存字节组织 阅读全文
摘要:
转自:http://hi.baidu.com/guorendong/blog/item/c4e59c26c77343068a82a189.html推送消息,是ios4.0以后才支持的,现在将其开发过程描述如下:我后续给大家翻译一下,因为最近比较忙先将原文填写如下:原文网址:http://www.cnblogs.com/zhw511006/archive/2010/09/01/1815089.htmlNSNotification PUSH 不是local,本人测试通过,谢谢提供该原文文档的哥们。One of the key limitations of the iPhone is its con 阅读全文
摘要:
iPhone手机对于各位时尚潮人来说一定不会陌生,而iPhone的风行除了依靠其良好的用户体验,很大一部分原因在于iPhone的App Store中的程序。iPhone的App Store以其独特的经营模式吸引了众多的开发者——而其结果铸就了App Store一个传奇性的规模。如今中国联通终于敲定了iPhone的引入,那么iPhone应用程序的开发肯定也将在国内兴起!那么如何去开发一个iPhone的应用程序呢?以下笔者摘译了一篇Smashing杂志的文章,作者以一个iPhone程序开发者的角度,用幽默的笔锋,通过12步的描述,呈现了一套完整的iPhone程序开发流程。希望这篇文章能对于国内的. 阅读全文
摘要:
没有 nib 的 iphone程序Interface Builder 开始用还觉得酷炫浮华,越用越觉得不对劲,对于刚开始学写 iphone 程序,没有帮助理解代码,反而隐藏了需要知道的内容,然后用线连啊连,连着连着就晕了。另外,重点是,牛人都直接用代码写 GUI 的啊 XD。刚才试了一下不用 nib,只用敲 code,真的可以耶。步骤如下:1. 新建一个 Window-Based Application 项目2. 删掉 MainWindow.xib文件3. 删掉 Info.plist 里面的 Main nib file base name 属性4. 把 main.m 文件中的 UIApplic 阅读全文
摘要:
-(void)updateLabel{NSDate*now=[NSDatedate];inthour=23-[[nowdateWithCalendarFormat:niltimeZone:nil]hourOfDay];intmin=59-[[nowdateWithCalendarFormat:niltimeZone:nil]minuteOfHour];intsec=59-[[nowdateWithCalendarFormat:niltimeZone:nil]secondOfMinute];countdownLabel.text=[NSStringstringWithFormat:@" 阅读全文
摘要:
建立了一个cocoaapplication项目,在Interface Builder中修改了title,在运行时标题始终是“Untitled”。这是我在http://stackoverflow.com/questions/4720030/cocoa-mac-application-title-says-untitled上找的解决方法。I have created a document basedMacOSX application, and when I'm editing in Interface Builder, the title is correct (I filled out 阅读全文
摘要:
#include <stdio.h> int main() { int array[] = {3, 4, 2, 6, 3, 7, 3, 8, 5}; int i, j, temp, num; num = sizeof(array) / 4; /* BubbleSort */ for (i = 1; i < num; i++) { for (j = 0; j < num-i; j++) { if (array[j] > array[j+1]) { temp = array[j]; array[j] = array[j+1]; 阅读全文
摘要:
#include<stdio.h>#include<string.h>void main(){char s[]="123456789";char d[]="123";strcpy(d,s);printf("d=%s,\ns=%s",d,s);}执行结果:d=56789, s=123456789书上有关于这个的解答,说是因为当初分配的内存地址是连续内存的问题,原来的是1234\0123456789\0,strcpy后变成123456789\06789\0。分析:首先要解释一下,char s[]="123456789"; char d[]="123"; 这样定义的数组和变量 阅读全文
摘要:
// 读取一个整数,计算并显示其二进制表示形式 #include stdio.h void residual(int); int main() { int num; scanf("%d", &num); residual(num); return 0; } /* 转化为二进制 */ void residual(int num) { int n; while ((num != 3) && (num != 2)) { n = num % 2; num /= 2; residual(num); // 嵌套,反向转化的结果 printf("%d", n); r 阅读全文
摘要:
转自:http://hi.baidu.com/wcwh/blog/item/9d4f513dca7ee2e13c6d97cb.html1范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位)8bits(指数位)23bits(尾数位)double:1bit(符号位)11bits(指数位)52bits(尾数位)在数学中,特别是在计算机相关的数字(浮点数)问题的表述中,有一个基本表达法[1]: value of floating-point=significandxbase^ exponent 阅读全文