上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 43 下一页
摘要: 给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 注意: 十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 给定的数 阅读全文
posted @ 2019-06-20 11:48 Austin_anheqiao 阅读(1759) 评论(0) 推荐(0) 编辑
摘要: 二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。 每个 LED 代表一个 0 或 1,最低位在右侧。 例如,上面的二进制手表读取 “3:25”。 给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。 案例: 输入: n = 1 阅读全文
posted @ 2019-06-20 11:13 Austin_anheqiao 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 一般常用的转换字符串的方法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) 编辑
摘要: 颠倒给定的 32 位无符号整数的二进制位。 示例 1: 输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号 阅读全文
posted @ 2019-06-18 19:25 Austin_anheqiao 阅读(454) 评论(0) 推荐(0) 编辑
摘要: a<<b a转为二进制向左移b位(左移是逻辑移位,右端补0)。 等价于a × 2b 更底层的操作,速度更快。 a>>b a转为二进制向右移b位(右移是算数移位,左端补的是最高位的符号位)。 等价于a ÷ 2b 异或 任何数和自己异或的结果都是0。 异或可以用来交换两个数字 a ^= b; b ^= 阅读全文
posted @ 2019-06-18 16:47 Austin_anheqiao 阅读(123) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 43 下一页