本文纯属瀑布飞鹰原创!
今天猛然发现,原来莎士比亚也会位运算。原来几百年前电脑还没出世的时候莎翁就预言了!怪不得是这么厉害的大文豪!
莎士比亚曾在他的著作中这样写道: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,你猜对了吗?