滴水课后作业(1-5)
滴水2015-01-12
1、2+3=1 成立吗?说明理由。
解题:上面式子由 3个符号组成,那么起码得用3进制以上的进制表示
三进制:2(0),3(1),1(2)
0+1=2不成立
四进制:
X(0) 2(1) 3(2) 1(3)
1+2=3 那么 2+3=1成立
2、将下面的二进制数用16进制表示 1100 1011 0101 0100 1110 1011 0101 0111 1011 0100 1010 1011
没什么好说的死记硬背就对了, C B 5 4 E B 5 7 B 4 A B
3、将下面的十六进制数用二进制表示 487FDC120ACE69B953FE
100(4) 1000(8) 111(7) 1111(F) 1101(D) 1100(C) 1(1) 10(2) 0(0) 1010(A) 1100(C) 1110(E) 110(6) 1001(9) 1011(B) 1001(9) 101()5 11(3) 1111(F) 1110(E)
4、二进制从0写到100(是100个数,每行写10个便于统计)
1 2 3 4 5 6 7 8 9 10
00000000 00000001 00000010 000000011 00000100 00000101 00000110 00000111 00001000 00001001
00001010 00001011 00001100 00001101 00001110 00001111 00010000 00010001 00010010 00010011
00010100 00010101 00010110 00010111 00011000 00011001 00011010 00011011 00011100 00011101
00011110 00011111 00100000 00100001 00100010 00100011 00100100 00100101 00100110 00100111
00101000 00101001 00101010 00101011 00101100 00101101 00101110 00101111 00110000 00110001
00110010 00110011 00110100 00110101 00110110 00110111 00111000 00111001 00111010 00111011
00111100 00111101 00111110 00111111 01000000 01000001 01000010 01000011 01000100 01000101
01000110 01000111 01001000 01001001 01001010 01001011 01001100 01001101 01001110 01001111
01010000 01010001 01010010 01010011 01010100 01010101 01010110 01010111 01011000 01011001
01011010 01011011 01011100 01011101 01011110 01011111 01100000 01100001 01100010 01100011
<1> 编制7进制加法表,乘法表,并计算下面的结果:
0 1 2 3 4 5 6
10 11 12 13 14 15 16
20 21 22 23 24 25 26
30 31 32 33 34 35 36
40 41 42 43 44 45 46
50 51 52 53 54 55 56
60 61 62 63 64 65 66
1+1=1
2+1=3 2+2=4
3+1=4 3+2=5 3+3=6
4+1=5 4+2=6 4+3=10 4+4=11
5+1=6 5+2=10 5+3=11 5+4=12 5+5=13
6+1=10 6+2=11 6+3=12 6+4=13 6+5=14 6+6=15
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=12
4*1=4 4*2=11 4*3=15 4*4=22
5*1=5 5*2=13 5*3=21 5*4=26 5*5=34
6*1=6 6*2=15 6*3=24 6*4=33 6*5=42 6*6=51
23456+54356=?
5621-654=?
234*65=?
<2> 编制16进制加法表,乘法表,并计算下面的结果:
注:纯手敲加乘法表,累死人,虐死人(当时心理活动,要不程序生成吧,心想太简单可以跳过,你怎么认为简单,不手敲你怎么证明你会?)
void foo(int n) {unsigned char nAry[256] = {"0123456789abcdefghijklmnopqrstuvwxyz" };n--;for (int i = 1; i <= n;i++) {for (int j = 1; j <= i;j++) {printf("%c*%c=\t", nAry[i], nAry[j]);}puts("");} } foo(16);
View Code
0 1 2 3 4 5 6 7 8 9 a b c d e f
10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
2D4E6+CF3A6=?
5FD1-E5A=?
2CA*A5=?
滴水2015-01-13
1、9进制定义:由9个符号组成,分别是:2、9、1、7、6、5、4、8、3,逢9进1 计算:123 + 234 = ?
计算这个题,先理解数轴计算方法。
先绘画一条数轴,计算 1-2=?
找到1的位置,向左数2格。等于-1
2、10进制定义:由10个符号组成,分别是:!、@、$、%、^、&、*、A、B、C,逢10进1 计算:@$$B + %AC& = ?
void convertResult(int v1,int base) {char buffer[1024] = { 0 };int nIndex = 0;do {buffer[nIndex++]=charList2[v1 % base];v1 /= base;} while (v1);while (nIndex--) {printf("%c",buffer[nIndex]);} } unsigned int symbolToNumber(char* p) {unsigned int nRet = 0 ;unsigned int nLength = 0;unsigned int nRight = 0;nLength = strlen(p);nRight = (unsigned int)pow(10, nLength-1);int count = 0;while (count < nLength) {int i = 0;for (i = 0; i < sizeof(charList2)-1;i++) {if (*(p + count)== charList2[i]) {break;}}nRet += i*(nRight);nRight /= 10;count++;}return nRet; } int main(int n) {char c1[256] = { "@$$B" };char c2[256] = { "%AC&" };convertResult(symbolToNumber(c1)+ symbolToNumber(c2),10);return 0; }
笔算后,写了一个验证的程序
验证结果:
3、使用异或对 87AD6 进行加密后再进行解密,加解密密钥:5
滴水2015-01-14
003数据宽度_逻辑运算.xls
1、八进制数2-5 在计算器中的的结果是:1777777777777777777775 为什么?
自我理解:其实这没什么好奇怪的,如果你真要觉得奇怪,那么我倒要反问看官了,2-5=-3,你认为-3奇怪吗?当你看见0xFFFFFFFF表示为-1你奇怪吗?其实并不稀奇!
不管怎么说2-5=-3,-3始终在内存的排列情况不变。管你以十进制,八进制、十六进制输出,-3在内存是不会变化的
,calc.exe显示这样的结果,不就是分离-3在内存中的排列数据吗?多说无益,自己实现一个
unsigned char charList1[] = "0123456789abcdefghijklmnopqrstuvwxyz"; void calc(long long int nResult, int base) {int bit = 0;int i = 0;if (base==8) {bit = 7;}while (i < (sizeof(long long int) * 8) / 3) {printf("%c", charList1[nResult & bit]);nResult >>= 3;i++;}int y = 0;if (y = ((sizeof(long long int) * 8) % 3)) {int i = (int)pow(2,y-1);i = (i - 1) + i;printf("%c", charList1[nResult & i]);} }calc(2 - 5, 8);
简单实现
懒得翻转了
2、使用异或对 87AD6 进行加密后再进行解密,加解密密钥:5
上面好像做过
3、只用逻辑运算计算2-3=?(涉及内容:逻辑运算、移位、数据宽度)
2-3 = 2+-3=? 求-3的补码,咋们假设4位的数据宽度0011 3的原码 1100 反码 1101 这就是-3的补码了0010 0010 xor 1101 and 1101 计算过程 --------------------1111 0000其结果是:1111 取1111的绝对值 1111 补码 0000 反码 0001 原码
004通用寄存器(1).xls
1、使用DTDebug打开一个EXE程序(F3),并找到寄存器窗口
2、使用DTDebug打开一个EXE程序(F3),单步执行程序(F8)
3、记住这个8个通用寄存器的名称,按照顺序。
ACDB SB SD
EAX,ECX, EDX, EBX, ESP,EBP,ESI,EDI
4、使用DTDebug打开一个EXE程序(F3),使用MOV指令修改8个寄存器的值,单步执行,观察修改后的结果。
滴水2015-01-15
理解作业。。
滴水2015-01-16
1、使用EBX存储栈底地址,EDX存储栈顶地址,连续存储5个不同的数.
2、分别使用栈底加偏移、栈顶加偏移的方式读取这5个数,并存储到寄存器中.
3、弹出这5个数,恢复栈顶到原来的位置.
4、使用2种方式实现:push ecx
5、使用2种方式实现:pop ecx
6、使用2种方式实现:push esp
7、使用2种方式实现:pop esp
转载于:https://www.cnblogs.com/binaryAnt/p/11147508.html
滴水课后作业(1-5)相关推荐
- 滴水课后作业(6-10)
滴水2015-01-19 本节练习: 1.熟练记住CF/PF/AF/ZF/SF/OF的位置 略过 2.写汇编指令只影响CF位的值(不能影响其他标志位) MOV AX,0FF00 ADD AX,101 ...
- RvaToFileOffset 内存偏移转成文件偏移(滴水课后作业)
题目说明 将内存偏移RVA转成文件偏移FOA的函数; 思路是遍历节表,比较节内存偏移VirtualAddress和RVA,确定RVA所在的节之后,计算RVA距离所在节首地址的偏移offset,然后返回 ...
- matlab用lism求零输入响应,信号与系统matlab课后作业_北京交通大学讲解.docx
信号与系统matlab课后作业_北京交通大学讲解.docx 信号与系统MATLAB平时作业 学院 电子信息工程学院 班级 姓名 学号 教师 钱满义 MATLAB习题 M3-1 一个连续时间LTI系统满 ...
- JAVA语法基础 动手动脑及课后作业
动手动脑1: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? public class EnumTest { public static void main(String[] ar ...
- 写在11期培训班第五次课后作业前面的话
本文内容简单,但是感觉对一些博友还是有参考警醒价值,因此,分享给支持老男孩的所有博友们,希望你们喜欢! 写在11期培训班第五次课后作业前面的话: 作为运维过来人,老男孩总希望能多给大家讲一点成功 ...
- day 13 课后作业
# -*- coding: utf-8 -*-# @Time : 2019/1/7 18:00# @Author : Endless-cloud# @Site : # @File : day 13 课 ...
- [课后作业] 第032讲:异常处理:你不可能总是对的
[课后作业] 第032讲:异常处理:你不可能总是对的 参考文章: (1)[课后作业] 第032讲:异常处理:你不可能总是对的 (2) 课后测试题 备忘一下.
- 吴恩达机器学习课后作业——偏差和方差
1.写在前面 吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了.所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了. 作业及数据下载网址:吴恩 ...
- Python从入门到实践第9章课后作业
Python从入门到实践第9章课后作业 编写过程中不知道如何将列表传入子类中,下面实例中均没有使用 #9-1 # class Restaurant(): # """模拟饭 ...
最新文章
- Cassandra架构、设计(集群表)和性能报告
- AtCoder AGC030C Coloring Torus (构造)
- λ-矩阵(初等因子)
- 1090. Highest Price in Supply Chain (25)
- B1922 [Sdoi2010]大陆争霸 最短路
- mysql触发器的基本操作_MySQL基本操作-触发器
- 售票系统的组件图和部署图_门禁安装大样图、管线图、系统图、电锁安装图
- Windows系统过滤病毒功能吗
- 机器学习入门二 ----- 机器学习术语表
- c语言中的各种“零”
- monthcalendar控件
- c语言既是素数又是回文数的三位数,编写程序,找出所有既是素数又是回文数的三位正整数.例如:131等...
- hp,Qlogic,Brocade光纖卡查看方式
- 网页前端监控系统(错误日志,接口监控)的使用
- JAVA程序设计实用教程 第三章 习题3(2)
- 启动tomcat报错:StandardEngine[Catalina].StandardHost[localhost].StandardContext
- h5获取当前浏览器ip和城市名称
- 趣店财报:最会赚钱的趣店亏了
- 用户管理系统功能测试报告
- 【SemiDrive源码分析】【MailBox核间通信】43 - 基于Mailbox IPCC RPC 实现核间通信(代码实现篇)
热门文章
- 统计app用户在线时长_「云工作普及系列」2.如何实时统计工作时长,提高工作效率
- 【Pytorch神经网络实战案例】16 条件WGAN模型生成可控Fashon-MNST模拟数据
- 简单线性回归(Simple Linear Regression)和多元线性回归(Multiple Regression)学习笔记
- 谷歌浏览器有哪些好看的主题_Kibou 简洁的Typecho主题
- Chapter7-8_Deep Learning for Constituency Parsing
- LeetCode 1798. 你能构造出连续值的最大数目
- 流式计算的代表:Storm、Flink、Spark Streaming
- LeetCode MySQL 608. 树节点
- 潜在语义分析(Latent Semantic Analysis,LSA)
- LeetCode 860. 柠檬水找零(贪心)