C++研究记录
MarronBan
一天到晚睡不够,成为前端工程师后还想干点别的。
展开
-
【c++】取反运算符与补码
例子~0=?~0=-1~表示取反,假设0为int类型,则该数在c++中是32位的,即在计算机内部表示为00000000000000000000000000000000第一位表示符号位,其余31位表示该数的值。~0就是将该数全部取反,得到32个1。但这还没完,负数在计算机中以补码的形式存储。补码 = 源码(除符号位)取反+1即32个1只是该数取反后的源码。源码取反后得到10000....0000000再+110000....0000001 //-1小试牛刀int A =原创 2020-11-13 17:37:06 · 3361 阅读 · 0 评论 -
【c++】使用assert编写测试用例
例子著名的德摩根定律公式如下,请使用逻辑运算符验证该定律。分析可以想到用逻辑与(&&)代替∪,逻辑或代替∩(||),最后用逻辑非(!)代替取反那么可以写出这两行代码!(A&&B)==!A||!B!(A||B)==!A&&!B可以定义A,B皆为bool类型,将结果输出,得到1便验证成功了。仔细想想可以优化一下:A,B为bool类型,各有两种取值共四种情况。1.A 为 false,B 为false;2.A 为false,B 为true;3原创 2020-11-12 21:59:49 · 360 阅读 · 0 评论