摘要: 一般常用的转换字符串的方法std::stringstream,但是效率较低;目前C ++11提供了std::to_string 效率方面:C风格的sprintf()没有动态分配内存效率最高;std::to_string其次;std::stringstream效率最差 从C++17开始,std::to 阅读全文
posted @ 2019-06-19 20:33 Austin_anheqiao 阅读(3638) 评论(0) 推荐(0) 编辑
摘要: 说明: 字符'\0' : ASCII码为0,表示一个字符串结束的标志。这是转义字符。 整数0 :ASCII码为0,字符表示为空字符,NULL; 数值表示为0; 内存中表示为:00000000 阅读全文
posted @ 2019-06-19 16:31 Austin_anheqiao 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 在位运算操作中,异或的一个重要特性是无进位加法。 得到了一个无进位加法结果,如果要得到 a + b 的最终值,我们还要找到进位的数,把这二者相加。在位运算中,我们可以使用与操作获得进位: 由计算结果可见,0100 并不是我们想要的进位,1 + 1 所获得的进位应该要放置在它的更高位,即左侧位上,因此 阅读全文
posted @ 2019-06-19 16:15 Austin_anheqiao 阅读(919) 评论(0) 推荐(0) 编辑
摘要: 方法一:递归 方法二、位运算 若一个数为4的幂,则1出现在奇数位(例如:01010101010101010101010101010101),那么满足 与10101010(偶数为1,奇数为0)的32位的二进制整数相与为0 010101010101010......& 10101010101010101 阅读全文
posted @ 2019-06-19 15:20 Austin_anheqiao 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 说明; 0~n有n+1个数字,只给出了n个数。 方法一: 计算n+1项的和,也就是等差数列求和,依次减去这n个数字,剩下的就是缺失的数字。 先求和,在一步一步求差 升级版: 想到数组较长的时候,求和可能会产生溢出。为了解决溢出,想到可以分步求和求差,每个元素进行一次加法一次减法。这样就有效减小了可能 阅读全文
posted @ 2019-06-19 14:29 Austin_anheqiao 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 注意: 整数包括负数,别忘了负数! 2的幂肯定是大于等于1的,所以,负数全部false!! 方法1: 2的幂说明用二进制表示的时候,只有一个1。 方法二: 利用与操作,若一个数n是2的幂次方,则2进制表达式一定为某一位为1,其余为0。则n-1则会变成后面的数全部变成1,原来1的位置变成0 例子:n= 阅读全文
posted @ 2019-06-19 13:17 Austin_anheqiao 阅读(603) 评论(0) 推荐(0) 编辑