1、手工除法运算方法 启示:除法可通过减法实现 问题: 除数移位次数不固定且多 需要长度为2n位的余数寄存器 如何判断每步是否够减 2、原码恢复余数除法 如何判断是否够减 利用减法,通过余数符号判断 余数为正数时,够减,商上1,将余数左移一位,再与除数做减法比较 余数为负数时,不够减,商上0,加除数 ...
分类:
其他好文 时间:
2020-06-16 18:28:24
阅读次数:
76
1: c语言区分有符号数,无符号数.有符号数是符号位在首位,无符号数首位就是普通位数. java只有有符号数,换句话说java二进制中首位都是符号位.0正1负. 2: 左移在所有语言中只是左移,不存在有符号无符号左移的说法,也不存在算数左移,逻辑左移的说法.算数移动(又叫有符号移动),逻辑移动(又叫 ...
分类:
编程语言 时间:
2020-06-14 18:29:47
阅读次数:
64
Caesar Cipher ####题意: 凯撒密码加密,输出对应的密文的明文 ####思路: 加密是将明文向右移位,那么解密就是将密文向左移位。 注意:A向左一位是Z #include<bits/stdc++.h> #define ll long long using namespace std; ...
分类:
其他好文 时间:
2020-06-14 16:40:15
阅读次数:
54
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 开始看到负数用补码表示,还想着怎么转换负数,其实计算机已经将负数转换成补码了 拿着一通算就完事 代码中,用无符号的1作为标志来与运算& 每次都往左移位1 flag如果超过int范围,会归0 考虑到边界值,flag就移位到退出 ...
分类:
其他好文 时间:
2020-06-14 12:58:19
阅读次数:
61
#include<bits/stdc++.h> #define ls rt<<1 #define rs rt<<1|1 using namespace std; typedef long long ll; const int p=1e8+7; int ans1; int ans2; int ans3 ...
分类:
其他好文 时间:
2020-06-14 12:57:25
阅读次数:
164
python运算符: 数学运算符 比较运算符 逻辑运算符 赋值运算符 位运算 数学运算符 数学运算符: +(加)、-(减)、*(乘)、/(除)、%(去余/取模)、//(整除)、**(幂运算) 例: # 加减乘除 print(1 + 1) # 2 print(1 - 1) # 0 print(1 * ...
分类:
编程语言 时间:
2020-06-10 21:12:30
阅读次数:
72
1.分析 最近心血来潮,突然想写一个2048小游戏。于是搜索了一个在线2048玩玩,熟悉熟悉规则。 只谈核心规则:(以左移为例) 1.1合并 以行为单位,忽略0位,每列依次向左进行合并,且每列只能合并一次。被合并列置0。 1.2移动 每列依次向左往0位上移动,不限次数。 1.3判定 [成功]就是合并 ...
一 Mac 1 文本编辑 光标移动 Ctrl+A (Ahead 行首) Ctrl+E (End 行尾) Ctrl+P (Previous 上一行) Ctrl+N (Next 下一行) Ctrl+B (Backward 左移一个字符) Ctrl+F (Forward 右移一个字符) Opt+Left ...
分类:
其他好文 时间:
2020-06-08 20:38:31
阅读次数:
81
位运算 1. 算法分析 原码和补码 原码: x 反码: ~x 补码: y = ~x + 1 移位 左移: x << n 等价于 x * (2 ^ n) 例如:x << 2为 1 * (2 ^2) 右移: x >> n 等价于 x / (2 ^ n), 如果x为正数,那么在最高位补上0;如果x为负数, ...
分类:
其他好文 时间:
2020-06-08 10:54:19
阅读次数:
50
基本概念 原码:正数是其二进制本身;负数是符号位为1,数值部分取X绝对值的二进制 例如:3的原码为 0000 0011;-3的原码为1000 0011。 反码:正数的反码是其本身,对于负数其符号位不变其它各位取反(0变1,1变0)。 例如:3的反码为 0000 0011;-3的反码为1111 110 ...
分类:
编程语言 时间:
2020-06-07 19:15:22
阅读次数:
94