摘要:
题目:求数值的整数次方,不考虑大数值情况 即实现函数:double Power(double base, int exponent)自己所写代码如下:#include "stdafx.h"#include double Power(double base, int exponent);int main(int argc, char* argv[]){ double base = -1; int exponent = 0; try { std::coutbool g_InvalidInput = false;bool equal(double num1, ...
阅读全文
posted @ 2013-08-10 22:01
-赶鸭子上架-
阅读(338)
推荐(0)
编辑
摘要:
1、程序中变量/函数命名规则: 尽量用英文单词组合来对变量/函数进行命名,通俗易懂!2、代码完整性: 1、普通功能测试;2、边界测试(包括循环、递归终止条件);3、负面测试。3、对错误的3种处理方式: 1、由返回值告知错误(类似Windows API);2、出错误时,设置全局变量;3、异常处理 各方式优缺点如下:
阅读全文
posted @ 2013-08-10 15:59
-赶鸭子上架-
阅读(176)
推荐(0)
编辑
摘要:
题目一:判断一个整数是不是2的n次幂实现大概如下:int main(){ int a = 256; if((a&(a-1)) == 0) //重要!! std::cout<<"YES!"<<std::endl; else std::cout<<"No!"<<std::endl; return 0;}题目二:输入整数m和n,计算由m得到n时需改变二进制位的个数。思路:先m|n(异或);再用上篇博客中的方法统计异或结果二进制中1的个数即可。重点理解+记住:一个整数(包括负数)减一后再与原来的整数做位与(
阅读全文
posted @ 2013-08-10 12:13
-赶鸭子上架-
阅读(112)
推荐(0)
编辑
摘要:
题目:求整数二进制表示中1的个数。分析:此题直接考查二进制表示与位运算!!! 正数和负数的二进制表示不同!在计算机中,正数的二进制表示即为通常所写的二进制;而负数的二进制表示则用补码表示,即原码的反码再+1。 比如:1) 9:在32位计算机中表示为(十六进制)0x00000009 (其原码=反码=补码=0x00000009); 2) -9:在32位计算机中表示为(十六进制)0xFFFFFFF7,原因:-9的原码=0x00000009,-9的反码=0xFFFFFFF6,-9的补码=0xFFFFFFF7 所以,-9的二进制表示中1的个数为31 ! 另外,拿8位二进...
阅读全文
posted @ 2013-08-10 10:49
-赶鸭子上架-
阅读(332)
推荐(0)
编辑
摘要:
位运算是对二进制表示的一种运算,个人理解:由于位运算更接近于底层结构,所以运算更快、效率更高!共有5种位运算操作符:与(&),或(|),异或(^),左移(>)。操作实例如下:注意:右移 有符号数时,根据有符号数的最高位符号来添加右移时所空出的各位!
阅读全文
posted @ 2013-08-10 09:40
-赶鸭子上架-
阅读(274)
推荐(0)
编辑