QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: caihua

关于Wine里显示清晰中文字体的方法

[复制链接]
发表于 2004-11-16 17:37:21 | 显示全部楼层
这个是必要的。 不过只要 *l_data.charse != ‘\0’ 就够了, 可以不用去调用一个函数的。
回复

使用道具 举报

发表于 2004-11-16 17:37:33 | 显示全部楼层
[quote:689b03064b="nzinfo"][quote:689b03064b="cjacker"]哥们,看来咱们两对C/C++,汇编的理解还是不够啊[/quote]
呵呵,难免的错误。谁又敢说自己精通C/C++啊。(不过有些丢人了:-()
另,这个地方的代码没有必要用strlen。:-)

if (l_data.charset != NULL && strlen(l_data.charset) > 0) {
+           strcat(lang_string, ".");
+           strcat(lang_string, l_data.charset);
+   }

其实整个lang_string全是调试用的,可以不加。[/quote]
这一段我还没看到过。
回复

使用道具 举报

发表于 2004-11-16 17:44:34 | 显示全部楼层
说到算法了,我出到小题,比较有意思的一个题目:


判断一个自然数数是不是2的N次方。


不要查任何东西,直接写,写出自己认为最优的算法。

这可是考查基础的题目,每次面试必用,百发百中。
回复

使用道具 举报

发表于 2004-11-16 17:56:07 | 显示全部楼层
1 lang-string 不是必要的。在新版的wine里已经不用了
2 关于2的N次方,只需要做位移就可以了。具体如何实现,还需要再考虑。目前想到的算法判断太多。
回复

使用道具 举报

 楼主| 发表于 2004-11-16 17:57:55 | 显示全部楼层
又是程序的说?头晕啊,幸亏不是搞计算机的
回复

使用道具 举报

发表于 2004-11-16 17:58:25 | 显示全部楼层
只想到这个:
[code:1]
int i;
for (i = 0; i < sizeof(int)*8;i ++) {
     if (num & 1 << i) {
        print("num 是 2 的 %d 方", i);
        break;
    }
}

if (i == sizeof(int)*8)
   printf ('num 不是2的N次方");[/code:1]
回复

使用道具 举报

发表于 2004-11-16 18:06:03 | 显示全部楼层
注意,一行,呵呵
回复

使用道具 举报

发表于 2004-11-16 18:10:18 | 显示全部楼层
可以把int 分成几个byte,分别与数相作用,只要结果中有超过两个不为0,则定不可除。
然后再比较不为0的字节。

这样可以省去一些比较。但是不一定比sunmoon1997兄的效率更高。
回复

使用道具 举报

 楼主| 发表于 2004-11-16 18:11:02 | 显示全部楼层
一行?可以
[code:1]计算机,来啊,判断一个自然数数是不是2的N次方。直接写,写出自己认为最优的算法[/code:1]
一行,完毕
回复

使用道具 举报

发表于 2004-11-16 18:18:29 | 显示全部楼层
如果是 2 的 N 次方,那么他的 2 进制数只有一个 1 ,之后怎么判定就不会了………
回复

使用道具 举报

发表于 2004-11-16 18:20:33 | 显示全部楼层
最简单的算法
是2的N次方吗(number);
呵呵,C里是不是这么写不清楚了。如果是使用位操作技巧可能可以写在一行里,但是失去了可读性了(至少还需要写条注释):-)
所以,还不如用语言或库函数提供的特性了。
回复

使用道具 举报

发表于 2004-11-16 18:21:01 | 显示全部楼层
?!
把这个数取 2 的余数不就完了?
如果余数是0,就是 2 的 N 次方~~~

if ( num % 2 ) printf("不是2的N次方");
else  printf("是2的N次方");
回复

使用道具 举报

发表于 2004-11-16 18:23:03 | 显示全部楼层
[quote:87857155db="jiangtao9999"]?!
把这个数取 2 的余数不就完了?
如果余数是0,就是 2 的 N 次方~~~[/quote]

不对, 和我一样绕进去了

例如10
回复

使用道具 举报

发表于 2004-11-16 18:25:13 | 显示全部楼层
取余同样也是用移位实现的吧。
回复

使用道具 举报

发表于 2004-11-16 18:26:38 | 显示全部楼层
10 %2 是多少?

好像应该叫取模?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-30 11:08 , Processed in 0.040615 second(s), 13 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表