topics

全部话题 - 话题: 二进制
首页 5 6 7 8 9 末页 (共10页)
r****n
发帖数: 7315
1
来自主题: Wisdom版 - 因缘
“毛主席说过,善有善报,恶有恶报。不是不报,时候未到。有时得有个过程。种庄稼
还得有个过程呢,对吧?”老师说。“其实,易经就是由宇宙人生的万象入手,把它抽
象为几个符号,以“—”表示阳,以“--”表示阴,组成八种卦象: “乾、坤、震、
巽、坎、离、艮、兑”,分立八方,象征“天、地、雷、风、水、火、山、泽”八种性
质与自然现象,象征世界的变化与循环,无外乎阴阳这对矛盾的此消彼长,世间万物及
其演变皆可分类归至八卦之中,并发明了古老的二进制,来研究推演人生宇宙的运行规
律,这种规律,古人称作道。然后运用这种宇宙人生的规律,来指导人生社会的转变。
研究这种规律的人,被称作道人。通晓和善于运用它,来实现自身和社会的变革的人,
被称作得道者。这种二进制的计算方法,后来被引用于电子计算机中。可见,它有很深
的数学和哲学内涵,术数的原意就是道路、方法和量。可惜,很多人都把它用偏了。不
从天地人生变化的根本着手,从心的调和做起,正心正意,洗心革面,自求多福,而是
幻想用臆想中的外力来改命,譬如贪污犯,幻想拿一个符,就能避免被抓,那是舍本求
末,空劳一场,空耗钱财啊。术数这个名词因此受到连累,被扭曲,科... 阅读全帖

发帖数: 1
2
来自主题: Wisdom版 - 科学可解释佛法吗?
《恒水经》上面有提到说:世间的一切的经法,世间一切,就是真正可以流传、利
益世间的,实际上都是从佛法而来的,所以佛法也包含世间法。包括这些外学,就是包
括医方明,还有世间法的因明,这些全部都是佛法所包含的。
“明”就是指彻底明了这些世间法的道理,其实不论是卜卦、八字、风水,实际上
是菩萨无不明了。这是入地菩萨于五地菩萨位所应当成满的功德,五地菩萨对于这世间
,他自知他了解得不多,所以他会启动他的意生身,去无量无边的世界,来了解世间一
切有情的作息,一切世间有情的许许多多的根器。他是透过这个方式来了解他们在做什
么?他们会的是什么?然后有没有一些工巧的一些技艺,这些诸明(诸明就是明白这个
事情的道理)需要他来学习,所以他一切究竟了知。所以佛法是反过来可以来解释科学
的,因为必须要如此,因为他要走过第二大阿僧祇劫的修行位,他就必须要会一切世间
法的科学。所以不只是医学,然后乃至于工巧明的科学,他全部都要会。
所以这个是菩萨的有学的地方,这菩萨的学处。也就是说菩萨的内学,听起来好象
是要说这些布施、持戒,然后忍辱、然后精进,乃至于禅定,最后到般若,乃至于说十
地菩萨的时候,继续延伸,... 阅读全帖
m****n
发帖数: 5
3
来自主题: PKU版 - 是北大的,就要敢面对
http://blog.sina.com.cn/s/blog_7037a7750100pky9.html?tj=1
北大毕业的四个美国杀人犯
作者﹕润涛阎
北大自1949年起培育了多少个杀人犯我没有见到过统计,但在美国我知道有4人,按学
校排名,暂时领先第一(如果这个数据有误,请网友指正,不胜感激)。如果按照被杀
人数算,北大以总数7名领先。在被杀死的21个人中,北大占三分之一。除了比较集中
的北大外,改革开放后来美的其他10位杀人犯来自于国内不同的大学。
(一)四个杀人犯的故事回放:
第一位北大培养的杀人犯是卢刚。下面是关于卢刚杀人的详细报导:
1991年11月1日下午3点半左右,美国爱荷华大学物理学大楼里正在举办一个天文物理专
题讨论会。北京大学物理系高材生卢刚博士也在现场,他是1985 年由国家公派来美留
学的。卢刚在爱荷华大学生活了6年,并在这个房间通过了博士论文。卢刚在会议室旁
听了约5分钟,突然拔出手枪,对准他的博士研究生导师 ——47岁的戈尔咨教授,教授
应声倒下,卢刚又在他脑后补了一枪,继尔又朝史密斯教授身上开了两枪。卢刚却又冷
静地将枪口瞄准了他的师弟山林华博士,他一... 阅读全帖
m****n
发帖数: 5
4
来自主题: PKU版 - 是北大的,就要敢面对
http://blog.sina.com.cn/s/blog_7037a7750100pky9.html?tj=1
北大毕业的四个美国杀人犯
作者﹕润涛阎
北大自1949年起培育了多少个杀人犯我没有见到过统计,但在美国我知道有4人,按学
校排名,暂时领先第一(如果这个数据有误,请网友指正,不胜感激)。如果按照被杀
人数算,北大以总数7名领先。在被杀死的21个人中,北大占三分之一。除了比较集中
的北大外,改革开放后来美的其他10位杀人犯来自于国内不同的大学。
(一)四个杀人犯的故事回放:
第一位北大培养的杀人犯是卢刚。下面是关于卢刚杀人的详细报导:
1991年11月1日下午3点半左右,美国爱荷华大学物理学大楼里正在举办一个天文物理专
题讨论会。北京大学物理系高材生卢刚博士也在现场,他是1985 年由国家公派来美留
学的。卢刚在爱荷华大学生活了6年,并在这个房间通过了博士论文。卢刚在会议室旁
听了约5分钟,突然拔出手枪,对准他的博士研究生导师 ——47岁的戈尔咨教授,教授
应声倒下,卢刚又在他脑后补了一枪,继尔又朝史密斯教授身上开了两枪。卢刚却又冷
静地将枪口瞄准了他的师弟山林华博士,他一... 阅读全帖
w*******k
发帖数: 580
5
来自主题: SDU版 - [转载] (ZT) 文王之拘
【 以下文字转载自 History 讨论区,原文如下 】
发信人: offside (越位), 信区: History
标 题: [转载] (ZT) 文王之拘
发信站: The unknown SPACE (Tue Jul 22 17:04:08 2003), 站内信件
【 以下文字转载自 Joke 讨论区 】
【 原文由 pjones 所发表 】
文王之拘
防万
众所周知,周文王被抓起来关在号子里的时候,住的是单间,没有人
可以和他交流思 想。百无聊赖之下只好自己给自己写书看解闷,于
是有了《周易》。今天有人说这是 一本算命书,还申请了项目用周
易来预测本拉登患有哪几种慢性病。这是不对的,其 实《周易》是
一本数学著作,文王是个发明家,他造出了世界上第一台计算机。
事情是这样的:文王住的号子卫生条件不是很好。虽然他是政治犯,
政府不敢给他饿 饭,相反还每月初一十五给他吃十斤四指膘的回锅
肉,但是纣王的对人权的认识也就 限于生存权而已,所以每年开春
之前几天才想到派人给打扫一次。这样文王吃不完的 肥肉就老是会
招来很多的蚂蚁。
刚好这时候文王发明了二进制,洞晓了二进制运算的基本原则。
m****f
发帖数: 32
6
来自主题: UESTC版 - A beginner's question, please help!
First, don't laugh at me. :)
我是计算机专业的初学者。Digital Design 课的
教授要我们练习练习。
1. 五位(5-bit)二进制之two's complement system 应该
可以表示从-16(含)到15(含)的数,对不对?
2. 还是五位(5-bit)二进制, 设a=12(即01100), d=4(即00100),
那么a+b=01100+00100=10000, 教授说这个数字将会溢出,我想
不通。教授说10000代表-16,而a+b=12+4=+16, 所以溢出。为什么
会出现这种情况呢?
麻烦不吝赐教,讲详细一点。多谢!
s******y
发帖数: 28562
7
根据百度的说法:
http://baike.baidu.com/view/18645.htm
这是因为量子不像半导体只能记录0与1,可以同时表示多种状态。
。。。
在经典计算机中,基本信息单位为比特,运算对象是各种比特序列。与此类似,在量子
计算机中,基本信息单位是量子比特,运算对象是量子比特序列。所不同的是,量子比
特序列不但可以处于各种正交态的叠加态上,而且还可以处于纠缠态上
-----------------------------
我不是搞算法的也不是搞量子的。所以我说的不一定对。
但是在我的有限理解中,因为不同的量子态都是discreet 的,而且除非受到外界干扰
,否则其值不会变,所以可以很方便的用来代表数值。而因为量子态很多,所以量子计
算机不限制于二进制。另一方面,因为量子态可以可逆性叠加,操作者可以通过把叠加
态定义为某种操作的结果,这样就可以直接对数值进行运算了,而且这个运算还是可逆
的(通过自定义),比方说你可以对一个量子系统反复的进行加减运算,也就是说运算
对象可以反复的操作。
对比之下,电子二进制只能有两个状态,要代表大的数字就需要比较多的位元。而且二
进制进... 阅读全帖
f*****Q
发帖数: 1912
8
整了个类似ObjectiveC学习笔记的东西,发上来大伙看看有兴趣不。
修改了一点,增加了NSAutoreleasePool的内容。
增加了NSString内容。
===========俺系分隔线==================
本文假设读者有基本的C编程能力,如果有C++或者Java的背景会更容易理解但是不是必须。
ObjectiveC基本语法
消息
在objectiveC中,向一个对象发送一个消息的语法为
[ obj method:parameter];
类似的功能在C++中写作
obj->method(parameter);
在java中写作
obj.method(parameter);
在smalltalk中写作
obj method:parameter
显而易见objectiveC和smalltalk的语法基本是相同的。
当有两个或者两个以上的参数时,通常试用以的语法
[ obj method:parameter1 WithSecondParameter:parameter2];
定义一个类的代码放在一个.h文件中,下面是一个例子。
//macdevexample1.h
... 阅读全帖
r****y
发帖数: 26819
9
这个,相信各位都能理解吧。
举个简化的例子,如果一个视频文件用二进制表示是0A0B,那么数据库对应就存放0A0B。
也就是存放文件的二进制数据。
另外ISO based media file format是F4V,不是FLV。
a****a
发帖数: 5763
10
1975年,美国罗彻斯特大学纽约分校,一组研究员正在做一个名为RIG(Rochester’s
Intelligent Gateway)的项目,它由Jerry Feldman主持设计。RIG的目标是给所有本
地以及远端的计算设备(比如磁盘、列印机、磁带、绘图机等)提供一组统一的访问方
式,其作业系统称为Aleph。为了实现所需要的功能,Aleph的内核主要构建了一个进程
交互(Interprocess Communication,IPC)的机制。RIG的各进程,只要设置了目标端
口,就可以彼此间发送信息。RIG项目没过几年就被判了死刑,主要是缺少很多有用的
功能,比如端口没有保护机制,一次最多只能发送2KB大小的信息(受硬件限制),也
没有很好的网络支持等。不过在20世纪70年代,这个系统依然代表着当时作业系统设计
的先进水平,比如除了进程交互外,每个进程还有内存保护的功能,这足以让20世纪90
年代末都没有做出内存保护技术的Apple公司汗颜。
该项目后来失败了,随后在1979年,RIG的Richard Rashid博士毕业到卡内基-梅隆大学
当教授,开始做Accent项目。它是一个网... 阅读全帖
a****a
发帖数: 5763
11
Mac OS X 10.6即所谓的Snow Leopard操作系统已正式发售。一如既往,Apple产
品光鲜的外表下凝聚了太多艰辛的劳作。ArsTechnic的John Siracusa以其独特的、专
业的、全面的视角深入翔实地体验这款最新的操作系统。
Weiphone.com将对该综述进行翻译整理并独家连载。欢迎关注。
Apple宣称,新版操作系统Snow Leopard的安装进程“速度提高幅度最高可达45%
”。安装过程耗费的时间很大程度上取决于安装内容、目标磁盘碎片、光驱速度等等因
素。当然,大多数情况下用户只需安装一次操作系统,一般不会有人过多关注安装进程
。可是,既然Apple坚持标榜这一点,我想关注一下安装进程以及相关的细节是值得的

为了尽可能多地排除不确定因素,我选择了从一块硬盘向另一块空白硬盘安装
Leopard和Snow Leopard系统以示对比。需要注意的是,这样做显然屏蔽了Snow
Leopard安装进程中最重要的一项优化措施,即Snow Leopard在很大程度上减少和避免
了从光驱随机存取数据。
... 阅读全帖
d***a
发帖数: 13752
12
来自主题: Apple版 - 芯片带工是什么概念?
打个通俗的比方,有点象微软把Windows二进制代码交给用户使用。
用户还是不知道其内部是怎么设计的。Hacker看二进制代码能猜到
一些实现方法,但所得也不多。
A5和A5X是三星代工的。A6不知道是谁代工的。以前有谣传说会是
台积电。
i****r
发帖数: 4
13
有m位二进制数(每位只能是0或者1,且m=8k)。现在把m个数按照每组8个数据分成k组,

能变动顺序。
现在对k组数据中1的个数进行统计并重新分组,分组原则是这样的:
如果前j组数据中1的个数小于9,而前j+1组数据中j的个数大于等于9,那么就把这j组数

分成一组,然后从第j+1组开始重新进行分组,直到k组数据全部重新分组完成,此时需

统计出分成的组数n,此时肯定有1<= n <= k。
比如:对于数据11001000,00010010,00100010,01010000,11111101,00110000,00000000,
….
.
由于前3组数据中1的个数为7,而前4组数据中1的个数为9,那么就把前3组数据重新分成

组,然后从第4组开始重新进行分组,现在第4到第5组数据中1的个数为9,所以就只能把

4组重新分成一组,然后从第5组开始分组,由于第5组到第6组1的个数为9,所以第5组也

能重新分成一组,然后第6和第7组数据中1的个数为2,所以可以把他们两个分成一组,这

重新分组后的组数n为4。
现在我想统计的是:
如果我对t个m位二进制数进行统计,那么n在
m****t
发帖数: 555
14
二进制是因为实现容易而已,并不代表就是好的.二进制只需要有能稳定维持2状态的元
器件即可,这个很容易做,高低电平即可表示。三进制需要有能稳定维持3个不同状态
的元器件,这个比较难。
f*******w
发帖数: 1243
15
【 以下文字转载自 JobHunting 讨论区 】
发信人: fenghaolw (生如夏花), 信区: JobHunting
标 题: 一个基本的复杂度问题
发信站: BBS 未名空间站 (Tue Jan 22 20:36:45 2013, 美东)
http://compprog.wordpress.com/2007/11/06/binary-numbers-countin
这个二进制counting bits的问题,里面说的Sparse one algorithm的复杂度是1的个数
可是每次需要对两个n-bits的二进制数做AND或者OR,应该是O(n)吧?
h*****n
发帖数: 209
16
我看网上的说法是把W用二进制表示是log2^S,所以算法复杂度实际上是O(n * 2^s)。
我不明白的是,诸如遍历一个链表时间复杂度是O(n), 把n用二进制表示的话,算法复
杂度不也是O(2^s)吗?
但是遍历链表确是polynomial time。
请高人指教。
i****r
发帖数: 4
17
有m位二进制数(每位只能是0或者1,且m=8k)。现在把m个数按照每组8个数据分成k组,
不能变动顺序。
现在对k组数据中1的个数进行统计并重新分组,分组原则是这样的:
如果前j组数据中1的个数小于9,而前j+1组数据中j的个数大于等于9,那么就把这j组数

分成一组,然后从第j+1组开始重新进行分组,直到k组数据全部重新分组完成,此时需

统计出分成的组数n,此时肯定有1<= n <= k。
比如:对于数据11001000,00010010,00100010,01010000,11111101,00110000,00000000,
….
.
由于前3组数据中1的个数为7,而前4组数据中1的个数为9,那么就把前3组数据重新分成

组,然后从第4组开始重新进行分组,现在第4到第5组数据中1的个数为9,所以就只能把

4组重新分成一组,然后从第5组开始分组,由于第5组到第6组1的个数为9,所以第5组也

能重新分成一组,然后第6和第7组数据中1的个数为2,所以可以把他们两个分成一组,这
样重新分组后的组数n为4。
现在我想统计的是:
如果我对t个m位二进制数进行统计,那么n在1到
t*******r
发帖数: 3271
18
来自主题: EmergingNetworking版 - AF31和CS3有什么区别?
什么AF,EF,BE的, 全都是人们规定的.
设备只关心二进制, 比如你3个bit的ip precedence或mpls exp的数值, 010,110,111,
000,001这些
你说那些什么AF31,CS3的破玩意儿, 可以随便定义, 也可以随便改.
真正起作用的还是二进制的数值, 什么字母只是alias而已.
比如111可以是NC, 也可以是BE, 全看你配置怎么写而已.
不过, 对于某家的设备, 一般都是有个约定俗成的规定大概什么数字是什么alias, 但
也并不是非常严格, 而且SP们也不按厂家的所谓约定俗成的习惯来, SP们全都自己写.
k**z
发帖数: 3
19
来自主题: Java版 - 反驳JAVA无用论
> 尽管 java 宣称它是100%面向对象,而C++不是。但是宣称100%面

> 对象本身就不是什么面向对象的思想。面向对象的本质目的是提高

> 产率。讨论一种语言是否100%面向对象就好像讨论我们的社会性资

> 社一样滑稽。其实学习面向对象不一定非要使用java不可。我反而

> 为120%面向对象的C++是不错的选择。
面向对象的本质是一种认识世界的方法,提高生产率只是它的结果。
JAVA是纯面向对象
的语言,它强迫你使用面向对象的思想来考虑问题。用C++就可能写
出C和C++混合的代
码(许多C/C++程序员不知不觉中就这样做了)。
> Java号称跨平台,其实这是只一个梦想,也不妨用骗局这个词来形

>
。软件的移植性仅仅和虚机相关吗?照此理论是不是可以说符合IA32
> 体系的软件在任何IA32体系上都能正常运行。那我怎么没看见SCO

> :lf 在 NT上运行?显然,除了虚机,软件二进制规范(执行文件

> 式、连接方法)、运行时间库和系统调用也是软件移植问题因素。

> java规范中显然不包括完整的运行时间库和系统调用,甚至二进制

> 范也
e*i
发帖数: 3
20
来自主题: Java版 - 问高手:数字签名
问高手:RSA+md5数字签名后的数据转换成二进制数组byte[],如何转成string类型(
规范中规定必须是String类型)
后又转换回byte[](因为验证签名verify()的参数是byte[]),我试了很多办法后来的返
回的字节数组都与原来的不同,无论是newstring的IS01889-1,还是BASE64,HexDumpEn
coder编码,
原因仿佛是RSA加密的二进制数据是DER编码的PCK#5填充块,很多转换方式都会丢失二进
制数据,
我不知道应该用什么转换编码了,请帮忙。
t***e
发帖数: 3601
21
来自主题: Java版 - 世界上有10种人
懂得二进制的和不懂二进制的。
k*******d
发帖数: 701
22
一个练习题,如果把一个int整数转成二进制输出。
要求条件是
1。不能使用java已有的函数。
2。对写出的函数转换成汇编语言,也就是把自己写的函数要轻松的转变成汇编。这就
意味着,不要用
面向对象的东西啦,不然转成汇编可就麻烦了。
我遇到的问题
1。用直观的% / 运算,算出来的是逆序的,也就是说,比如 4, 我先得到是0,然后
又是0,然后
才是1。而我想得到是是100。
比如
4 / 2= 2 ....0
2 / 2= 1 ....0
1 / 2= 0 ....1
2。输出。如何输出?这个问题直接与要求2相关。
Java 里面的Integer.toBinaryString(int i)
的源代码还好,但是最后一句设计到new String(char[],int,int)函数,这个就难以转
成汇编
了。
public static String toBinaryString(int i) {
return toUnsignedString(i, 1);
}
这个函数是用来转二进制十六进制和八进制等的。
private static String toUnsigned
z*******g
发帖数: 132
23
看了些东东,还没明白, 我想import javax.servlet.* 怎么找不到呢。。。
————
在这个专题中我们由浅入深地向大家介绍Java Servlet的基本特征、开发环境的配置
以及Servlet的一些主要API类。
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面
一、概述
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。
Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的
Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet
的Java虚拟机。
Java Servlet 与 Applet 的比较:
相似之处:
* 它们不是独立的应用程序,没有main()方法。
* 它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用。
* 它们都有一个生存周期,包含init()和destroy()方法。
不同之处:
* Applet具有很好的图形界面(AWT),与浏览器一起,在客户端运行。
* Serv... 阅读全帖
t**********g
发帖数: 3388
24
【 以下文字转载自 SanFrancisco 讨论区 】
发信人: thanksgiving (###), 信区: SanFrancisco
标 题: ===编程带给IT硅工的9条坏习惯===
发信站: BBS 未名空间站 (Sun Feb 6 23:50:45 2011, 美东)
如果你是一个程序员, 或者你就读计算机相关专业, 那么你应该能理解下面这些诡异的小
习惯是怎么养成的, 或者你本身就有着其中的某些习惯:
0. 程序员数数会从0开始数起.
例: 程序员吵架的时候会说: “我数三下, 你再不闭嘴我就不客气了! 零! 一! 二!” 或
者列清单的时候编号会从0.开始写.
因: array[0]是数组的第一个元素.
评: 这个习惯的养成是一个艰难的过程. 多少次的越界, 多少次的循环次数错误让我们深
深的记住了从0开始.
1. 程序员用肯定和否定回答选择性的问题.
例: 问 “您想喝咖啡还是喝茶?” 程序员答: “嗯.”
因: 当条件或||有一个子句值为真, 则整个语句值为真.
评: 这个习惯夸张了一点, 但这的确是程序员思维方式的通病, 用计算机的处理逻辑处理
人类问题.... 阅读全帖
l***e
发帖数: 480
25
PPM的图形文件,P3字符格式和P6二进制格式。
怎么读?
对二进制格式,GETC读不进来。FREAD读到数组里,好象也不对。不知为何。
字符格式每行三个数字字符,以空格分隔:XXX XXX XXX
FSCANF转换好象有问题。
哪位有经验,介绍一点。多谢
t*i
发帖数: 72
26
来自主题: Programming版 - 字符串变换的问题
我有一个字符串 "XYXYZ"
我先把它转化成两个二进制数 10100 (x代表1,y,z代表0)
01010 (y代表1, x,z代表0)
请问在c++里有什么比较简便的方法可以实现。
其实我是想用c++的为运算符对他们进行操作。我得笨办法就是把字符串替换成"10100", "01010",然后把它直接cast成二进制数。 但是我不知道这个cast的函数是啥,另外我觉得高手肯定有更有效率的方法。
m****y
发帖数: 28
27
来自主题: Programming版 - 这个算法问题怎么处理?求思路
问题其实很简单
我的程序要维护一个集合
集合里的每个元素都是一个64bits的二进制数
要支持对这个集合进行插入,删除,查找三种操作
插入和删除就不说了
查找的要求是这样的:
给一个64bits的数作为input
要求找出集合里跟input的二进制差异最小的数,
可以是一个或者多个
甚至可以不要求最优的精确查找,返回次优的结果也可以接受
举个例子
比如集合里有{1100, 1011}
查找1010的话,应该返回1011,因为他们之间只有一个bit的差异
请问,该采用什么样的数据结构和算法呢?
I*****y
发帖数: 602
28
这个需要知道二进制文件的格式才行,没有通用的软件可以自动转换。
可以看看同行有没有自己写的软件,或者软件附带的dump二进制文件的工具。
k****f
发帖数: 3794
29
来自主题: Programming版 - 请问大家怎样让程序难以读懂
先编译成二进制代码,然后用工具把二进制代码翻译成C,
肯定没有人能够读懂的
t**********g
发帖数: 3388
30
【 以下文字转载自 SanFrancisco 讨论区 】
发信人: thanksgiving (###), 信区: SanFrancisco
标 题: ===编程带给IT硅工的9条坏习惯===
发信站: BBS 未名空间站 (Sun Feb 6 23:50:45 2011, 美东)
如果你是一个程序员, 或者你就读计算机相关专业, 那么你应该能理解下面这些诡异的小
习惯是怎么养成的, 或者你本身就有着其中的某些习惯:
0. 程序员数数会从0开始数起.
例: 程序员吵架的时候会说: “我数三下, 你再不闭嘴我就不客气了! 零! 一! 二!” 或
者列清单的时候编号会从0.开始写.
因: array[0]是数组的第一个元素.
评: 这个习惯的养成是一个艰难的过程. 多少次的越界, 多少次的循环次数错误让我们深
深的记住了从0开始.
1. 程序员用肯定和否定回答选择性的问题.
例: 问 “您想喝咖啡还是喝茶?” 程序员答: “嗯.”
因: 当条件或||有一个子句值为真, 则整个语句值为真.
评: 这个习惯夸张了一点, 但这的确是程序员思维方式的通病, 用计算机的处理逻辑处理
人类问题.... 阅读全帖
D**********d
发帖数: 849
31
来自主题: Programming版 - 一道实用的算法题
任给一个N位二进制整数,找出所有“不比它大的”自然数:
eg. 四位二进制数 1010,
所有“不比它大的”自然数是 1000,0010,0000 三个
x****u
发帖数: 44466
32
你说到这里,差不多就是COM的意义了。
任何二进制调用都需要协议,模块内这些细节隐藏在编译选项里了,不等于不存在。当
多模块同时存在时,此问题开始突出。COM就是为了解决标准C++中缺少二进制规范的问
题的。
就算全都不理解,真遇到了cross dll boundary allocation问题,解决方案还是COM实
现的一个子集。
a****n
发帖数: 1887
33
COM本质论 是DON BOX 经典书,也是最好的关于COM的书籍
这个是典型的DLL HELL 问题,本质是因为程序设计的时候没有设计接口(interface)
, 虽然C++本身并不是源生支持interface, 但是可以使用abstract class without
variables 来设计interface。
external client 如果只依赖于DLL的interface(没有member variables)的话,在其
子类中添加/修改/删除 变量,并不会影响 dll的调用, 因为interface的内存布局没
有改变(这种情况下使用factroy method来分离client和dll), client不需要重新编译
而当external client 直接依赖于DLL内具体类的时候,这个类的添加/修改/删除,都
会影响到client,而这种情况,client需要重新编译
COM在提供interface的基础上更进了一步,提供接口二进制布局规范,这样多语言设计
出来的接口具有相同的二进制布局, 从而在interface programming 基础上支持跨语
言... 阅读全帖
x****u
发帖数: 44466
34
你说到这里,差不多就是COM的意义了。
任何二进制调用都需要协议,模块内这些细节隐藏在编译选项里了,不等于不存在。当
多模块同时存在时,此问题开始突出。COM就是为了解决标准C++中缺少二进制规范的问
题的。
就算全都不理解,真遇到了cross dll boundary allocation问题,解决方案还是COM实
现的一个子集。
a****n
发帖数: 1887
35
COM本质论 是DON BOX 经典书,也是最好的关于COM的书籍
这个是典型的DLL HELL 问题,本质是因为程序设计的时候没有设计接口(interface)
, 虽然C++本身并不是源生支持interface, 但是可以使用abstract class without
variables 来设计interface。
external client 如果只依赖于DLL的interface(没有member variables)的话,在其
子类中添加/修改/删除 变量,并不会影响 dll的调用, 因为interface的内存布局没
有改变(这种情况下使用factroy method来分离client和dll), client不需要重新编译
而当external client 直接依赖于DLL内具体类的时候,这个类的添加/修改/删除,都
会影响到client,而这种情况,client需要重新编译
COM在提供interface的基础上更进了一步,提供接口二进制布局规范,这样多语言设计
出来的接口具有相同的二进制布局, 从而在interface programming 基础上支持跨语
言... 阅读全帖
a****l
发帖数: 8211
36
来自主题: Programming版 - double's equality
其实我觉得这个faq写的不完全对。两个浮点数相同的的话就是说二进制数是相同,这是
没有任何疑问的。不能直接比较的原因是计算有误差,就是说数学上应该相同的计算结
果计算机出来的可能是不同的,数学上应该是不同的计算结果计算机出来的可能是相同
的二进制数。所以这是一个“应用”的问题,而不是一个“语言”的问题。if (x == y)
本身没有任何问题而且是完全合理的,关键是使用的人要知道这到底是什么意思。两个
浮点数能否比较不应该是c语言应该考虑的问题,而是数值计算应该考虑的问题,而且数
值计算本身就是一个非常复杂的学科,是否相等是里面一个非常非常简单的入门问题.
http://www.cygnus-software.com/papers/comparingfloats/comparing
举个例子,如果要计算a/(b-c),怎么做?
float sample(float a, float b, float c)
{ if ( b==c ) {oops..} else return a/(b-c);}
当然还有其他的问题,但是这是数值计算里面讨论的了.
z****e
发帖数: 54598
37
来自主题: Programming版 - 今天不说微软的民工 (转载)
【 以下文字转载自 PDA 讨论区 】
发信人: bullmaster (master), 信区: PDA
标 题: 今天不说微软的民工
发信站: BBS 未名空间站 (Thu Feb 28 19:19:13 2013, 美东)
说人民工会伤害人脆弱的小心灵,就说说Windows的设计。 哥不用Windows很多年了,
不过到今天Windows发展成这么个二皮脸的系统,不是没有传统的。
先说说windows那个注册表。 最早那就是一堆文本配置文件,什么WIN.INI,SYSTEM.
INI,版上捣鼓过Windows 3.0/3.1的人应该有印象。系统的有四个,其他零零碎碎的一
堆。 后来微软把这一堆文本文件堆一块儿,这就是注册表。 哥当年reverse engineer
了注册表一把,还写过一个简易编辑器,所以可以说一说。
注册表就是微软把文本文件用二进制存了个大文件。 Why did they do that?
Because they are stupid,觉得存成二进制别人就不知道微软在干嘛,但是很快微软
就发现这样导致了自己不知道在干嘛。 微软从开始就没有设计一个可靠的数据... 阅读全帖
r****c
发帖数: 1494
38
我是做仿真的,想把所有的计算搬到一系列机器上中央解决。
仿真程序是从某些特定语言生成的可执行文件,输入和输出都是二进制的文件,里面记
录了许多信号在所有时点的值,或者是些很大的多维矩阵啊什么的,不同的Task可能用
的是同一个可执行文件,只是输入输出不同。计算部分都是分开的,因此很适合并行,
scheduling什么的貌似也有很好的解决方案,logging也不用担心。
但是怎么管理这一大堆二进制文件呢?(暂时是数千,但是以后可能到几十万个或者更
多?)没有metadata肯定不好,但直接导入数据库肯定不好啊?有什么轮子可以分布式
的储存这些东西啊?(自己乱来当然是可以,肯定有聪明人发明过轮子了。) 储存了以
后怎么在Web上分发比较好呢?
(其实我就是个学汽车的票友,看周围人工作得太过于手动化了。。。想拼一套方案什
么的...)
先多谢啊。
其实我们这个行业也有很多人说要把这些现在在Desktop上弄的东西弄上云去....
E******g
发帖数: 170
39
来自主题: Programming版 - 移动数据传输格式选择问题
移动时代的数据传输格式选择难题?xml,json比较浪费流量;二进制json方案众多(bson,
bjson,ubjson,smile);二进制xml(WBXML,BiM, EBML)方案也众多;Protobuf,Thrift无法
表示通用的数据格式,扩展性较差;MessagePack 相对比较通用,但发现多平台数据互通
的时候转换有一些问题.各位是否有好的建议?
……………
帮朋友问的
……………
N******K
发帖数: 10202
40
我有一个数据类 里面很多成员
成员1 是一个矩阵
成员2 是一个图
成员3~10 是 一些数字
我现在是这样保存这个类
dataobject.json 存储这个类的大致信息
有多少个成员啊
每一个是啥类型
每一个成员的简要信息:比如矩阵是 10x10的 double精度
dataobject.member1.data 存贮 矩阵 二进制方式
dataobject.member2.data 存贮 图 二进制方式
dataobject.member3to10.data 存贮 name-value pair 文本方式
这样这个类对应很多数据文件
如果更加复杂 就得变成了dataobject.memberX.memeberY.memeberZ.data
请问还有其他什么办法?
w***g
发帖数: 5958
41
来自主题: Programming版 - ubuntu on windows
这个我以前科普过的。Windows NT是一个非常牛B
的模块化设计。NT内核的功能是通过不同的subsystem
expose出来的,包括一个win32 subsystem和posix subsystem。
win32 subsystem和win 95/98的win32 API二进制兼容,就是
一般人看到的windows。win 95/98和NT/2000/XP内核完全不同,
但是能实现app的二进制兼容,就是通过的win32 subsystem
实现的。Posix subsystem一般人不知道,软软自己也不推广,
但确实是标准的posix。上面可以装一套windows services for unix,
然后config, make, NFS, sh啥的都有。这个十多年前我都玩过的。
从技术上来说, win32 API比posix是不是更科学难说,但从技术上来说要
复杂得多,投进去的钱也要大得多,就软软来说赚到得钱也大的多。
谁能预料得到陈年往事又要被挖出来。真是非战之罪也。
Commercial的操统,不管是AIX, Solaris还是Windows NT,
哪个在技术上不秒... 阅读全帖
w***g
发帖数: 5958
42
来自主题: Programming版 - 请xiaoju和digua来讲讲COM技术吧
我可不可以理解为,windows软件因为不开源,所以需要二进制兼容的API。
linux因为开源,有源代码级的API就可以了,所以也不是特别需要二进制的API。
对应的, windows里有dll hell。但是linux就没有so hell。
i****r
发帖数: 4
43
有m位二进制数(每位只能是0或者1,且m=8k)。现在把m个数按照每组8个数据分成k组,

能变动顺序。
现在对k组数据中1的个数进行统计并重新分组,分组原则是这样的:
如果前j组数据中1的个数小于9,而前j+1组数据中j的个数大于等于9,那么就把这j组数

分成一组,然后从第j+1组开始重新进行分组,直到k组数据全部重新分组完成,此时需

统计出分成的组数n,此时肯定有1<= n <= k。
比如:对于数据11001000,00010010,00100010,01010000,11111101,00110000,00000000,
….
.
由于前3组数据中1的个数为7,而前4组数据中1的个数为9,那么就把前3组数据重新分成

组,然后从第4组开始重新进行分组,现在第4到第5组数据中1的个数为9,所以就只能把

4组重新分成一组,然后从第5组开始分组,由于第5组到第6组1的个数为9,所以第5组也

能重新分成一组,然后第6和第7组数据中1的个数为2,所以可以把他们两个分成一组,这

重新分组后的组数n为4。
现在我想统计的是:
如果我对t个m位二进制数进行统计,那么n在
d*p
发帖数: 534
44
一个细胞出错的概率比二进制程序大不止几个数量级,但是细胞有自我纠错,周围环境监
控一套系统来修补或者清除这些错误的细胞,所以什么小毛小病的,都自行解决了,解决
不了的,就清除了.要是计算一下一个癌细胞从突变到逃避监控最后长起来,这个概率应
该是远远超过二进制程序出错的概率.
e*******0
发帖数: 1487
45
来自主题: Biology版 - 四十以后‘二’的困惑
嘿嘿,灌个水而已,表这么激动。
没困惑不等于幸福了,例如财富,要是盖茨是我的windows CEO,那我就真的幸福了。
电脉冲这种玩意儿,不完全是零和一,脉冲有强有弱。我说的二,是绝对的二,只有零
和一,
没有零点五或者零点一,核酸严格来说是4种,但是,A必须配T,G必须配C,可以说是
一种二的变形,这个世界上的高等生物的一切都是由这种核酸序列决定的,从这一点上
说,计算机的二进制和核酸序列在本质上是一样的,都是通过两种状态的不同排序来决
定极其复杂的事件。这一点不同于语言,语言的基本组成是多种,英文有26个字母,中
文有十数种笔画。当然,这也不同于物质的组成,电子质子中子等等。这种二的结果也
不是数学上逻辑推理,而是现实的存在。数学上有二进制,有十进制,有十六进制,有
六十进制,甚至可有用无数的进制,可是,唯一一种现实存在的是并且完美地创造出了
人类及其思维的是二。从这一点上说,计算机程序的发展终究有一天会创造出能够自主
思考的程序的。
首页 5 6 7 8 9 末页 (共10页)