莎翁也会位运算!

本文纯属瀑布飞鹰原创!

今天猛然发现,原来莎士比亚也会位运算。原来几百年前电脑还没出世的时候莎翁就预言了!怪不得是这么厉害的大文豪!

莎士比亚曾在他的著作中这样写道:To be or not to be,that is a question!

翻译成pascal就是:

var be:longint;

begin

randomize;

be:=random(maxlongint);

be:=be or(not(be));

writeln(be);

end.

他留下了这个谜题,所以他说:that is a question!

猜一猜答案是多少呢?(按Ctrl+A,看最后一行)

想看答案就向下翻,不过先说说答案是怎么得出来的。

not在位运算中就是取反,0变成1,1变成0,任取一个be=12,级be的2进制码为:1100

补足前面的空位就是:00000000000000000000000000001100

not后就是:11111111111111111111111111110011

再or运算:  11111111111111111111111111111111

由于longint在内存中的存储方式是以第一位作为符号,0表示正数,1表示负数,所以be结果就可想而知了。

答案就是-1,你猜对了吗?

posted @ 2009-11-06 12:27  瀑布飞鹰  阅读(373)  评论(5编辑  收藏  举报