- 博客(3)
- 收藏
- 关注
原创 原码的一位乘法和两位乘法
原码一位乘法运算规则:1,符号位通过对被乘数和乘数的符号位作异或得到,不参与乘法运算。2,数值部分使用被乘数和乘数的绝对值进行运算。3,一共要经过n次加法和n次右移位。(n指的是乘数小数点后的位数,即尾数的位数,如 0.1101,小数点后有4位,n就等于4)。4,移位时进行的是逻辑移位,右移后空出的位置补0。举例说明:设 x = -0.1101,y = +0.1011,使用原码一位乘法求 x * y。符号位:p = 1⊕0 = 1;所以 x * y = 1.10001111。原码两位
2021-04-11 10:03:45 8579 5
原创 打印从1到最大的n位数:使用大数
题目:给定一个正整数 n,打印从 1 到最大的 n 位数。例如:n = 2, 则打印从 1 到 99;n = 3, 则打印从 1 到 999。思路:在 n 比较小(比如n=1或n=2或n=3)时,可以使用一个循环简单的解决问题,但当 n 比较大时,打印的数字可能会超出 int 或 long所能表示的范围,这是就应该使用string来表示大数以解决问题。代码:#include<iostream>#include<vector>#include<cmath>
2021-04-03 15:07:32 171
原创 Leetcode 1299:将每个元素替换为右侧最大元素
题目:思路:每个元素都要被它右边最大的元素替换,那么主要问题就是怎么方便的找到其右边最大的元素,这里创建一个结果向量来保存结果数据,先将结果向量的最后一个元素置为 -1,再从右向左操作,当要更新结果向量第 i 个位置的值时,要看到其第 i+1 个位置保存的是原向量第 i+1 个位置之后的元素的最大值,因此直接将结果向量第 i+1个位置的数值与原向量第 i+1 个位置的值比较,其中较大值就是结果向量第 i 个位置的值。代码实现:vector<int> replaceElements(ve
2021-04-03 14:12:56 116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人