小白的CTF学习之路6——阶段测评

时间:2022-04-28 14:08:30

刚才考了自己一次,下面我把题和答案放到下面

CPU中不含有以下选项中的  C

A:     运算器

B:      寄存器

C:     内存

D:     时钟

这是一道送分题,CPU包含以下几种原件

寄存器

控制器

运算器

时钟

CPU中负责计时的部件是  F

E:      程序计数寄存器

F:      时钟

G:     控制器

H:     靠人来计时

答案已解决,妈的,错的离谱,选的F,时钟相当于我们的计算频率,时钟脉冲:CPU内部有个石英晶振,它的正常振动频率就是你CPU的主频,时钟脉冲就是每次振动产生的脉冲,之所以叫时钟,因为它是整个系统的时间工作基准

对于汇编以下说法正确的是  J

I:       汇编需要编译成机器码

J:       汇编是助记符,和机器码一一对应

K:      汇编是给CPU看的

L:      编译器编译出来的是汇编

其实应该是经过编译器后和机器语言对应,只是为了让我们书写从而改变了些顺序。

以下哪个寄存器名是错的  D

A:     累加寄存器

B:      程序计数器

C:     标志寄存器

D:     控制寄存器

CPU寄存器分为以下几种:

  • 累加寄存器
  • 标志寄存器
  • 程序计数器
  • 基址寄存器
  • 变址寄存器
  • 指令寄存器
  • 通用寄存器

以下哪个说法是错误的  C

A:     计算机能够执行分支是因为标志寄存器

B:      计算机能够执行循环是因为程序计数器

C:     控制器控制程序的分支及循环运行

D:     标志寄存器负责保存计算后结果的状态

控制分支是标志寄存器的任务,循环运行是程序计数器的作用,控制器负责控制数据读取,写出,更换等操作

请写出二进制,八进制,十进制,十六进制(9之后使用字母顺序)

1   1  0X01

10  2  0X02

11  3  0X03

100 4  0X04

101 5  0X05

110 6  0X06

111 7  0X07

1000 8  0X08

1001 9  0X09

1010 10  0X0A

1011 11  0X0B

1100 12  0X0C

1101 13  0X0D

1110 14  0X0E

1111 15  0X0F

10000 16  0X10

10001 17  0X11

10010 18  0X12

10011 19  0X13

10100 20  0X14

八进制没学,为了方便写的不是非常正规,转换方法很简单,不说了

请使用公式写出二进制数 011100001100000111000对应的十进制,需要解题步骤:

011100001100000111000=2^3+2^4+2^5+2^11+2^12+2^13+2^18+2^19=8+16+32+2048+4096+131072+262144=923704

这么算会累死人的,今天学了个新的方法

二进制转16进制

二进制数:0 1110 0001 1000 0011 1000

对应16进制:0 e 1 8 3 8

平方求和:8  + 3 * 16 + 8 * 16^2 + 1*16^3 + 14*16^4

将二进制转换成十六进制,然后再用这个十六进制求十进制就会方便很多

假设一个32位带符号(有负数)的二进制数 0111 0010 1110 1111 0011 1111 0000 1100,请写出对应的十进制数 1928281868

开头数字为0说明为正数,正常求和

假设一个32位带符号(有负数)的二进制数 1111 0010 0010 1111 0011 0110 0000 1100,请写出对应的十进制数 -231786996

开头字母为1说明为负数,去掉符号位并减一之后取反再做运算

假设二进制数(16位)0101 1111 0000 1111左移3位,结果是:

1111 1000 0111 1000

没什么好说的

假设二进制数(16位)0101 1111 0000 0000逻辑右移3位,结果是:

0000 1011 1110 0000

题目说了逻辑右移,那就正常位移就可以了

假设二进制数(16位)0101 1111 0000 0000算数右移3位,结果是:

0000 1011 1110 0000

虽说算术右移,但首位是0,无需加一

假设二进制数(16位)1101 1111 0000 0000算数右移3位,结果是:

1111 1011 1110 0000

此二进制首位为1,需要进行补一

  1. 请问以下代码输出的结果是 C

Int main()

{

Float sum = 0;

For( int I = 0; i< 100; i++)

{

Sum += 0.1;

}

Printf(“%f”,sum);

}

A: 10.0000000

B: 10.0000002

C: 不知道

D: 1.0000000

前面一章重点讲过此环节,计算机在做浮点数运算时很容易出不可控误差,解决方法一忽略,二将浮点数变为整数运算

内存为什么有地址,我们是通过什么计算出内存的大小的?

内存中有许多空间,地址的存在可以让cpu更快捷的找到所需数据的位置

由他的寻址位数*数据得出

编程时读取和写入内存速度最快的数据结构是 A

A:     数组

B:      栈

C:     队列

D:     链表

之前说过计算机在做累加运算时是最快的,数组正好符合这一要求

请说明下上一题中几种数据结构的优势

数组,读取速度快,但删除很慢

栈,有记录,可回溯

链表:删除,插入,添加  速度快

队列:便于数据进行队列操作

程序是在内存中执行的 A

A:     对

B:      错

所有的数据都是一直(包括关机时)存储在 C

A:     内存

B:      CPU

C:     硬盘

D:     我脑子里

常识问题

小白的CTF学习之路6——阶段测评的更多相关文章

  1. 小白的CTF学习之路2——二进制数据基础与运算(上)

    今天的第二更,被我拖到了傍晚,嘿嘿,二进制这方面让本就数学不好的我很头疼,所以研究了一段时间 在学习之前我们先了解几个问题: 32位是几个字节? 01011100对于十进制是多少? 00001111向 ...

  2. 小白的CTF学习之路1——程序与CPU

    刚刚注册了这个博客园,尽量保持每日一更(*/ω\*) 今天看了po学院的教学视频,了解了程序是什么,如何在CPU当中工作的等各种之前未曾想过的问题,特此记录,以防忘记 首先我们学习程序与CPU之前需要 ...

  3. 小白的CTF学习之路8——节约内存的编程方式

    今天第二更,废话不说上干货 上一章我们学习了内存和cpu间的互动方式,了解到内存的空间非常有限,所以这样就需要我们在编程的时候尽可能的节省内存空间,用最少的空间发挥最大的效果,以下是几种节约内存的方法 ...

  4. 小白的CTF学习之路7——内存与硬盘

    前天去网吧跟朋友包宿,导致昨天一整天都报废,今天早上研究了一下nethunter导致手机成功变砖,感冒不停地咳嗽,这些理由应该足够我前两天拖更了吧,下面开始正题 磁盘学习路线 虚拟缓存 虚拟内存 节约 ...

  5. 小白的CTF学习之路5——内存的逻辑结构

    很衰的一天,各种意料之外的问题,但都挡不住我每日一更的步伐 内存的逻辑结构大致分为以下几种: 数组 栈与队列 链表 二叉树 以上,数组,栈,链表是我这章要说明的 在学习前需要了解的两个问题: 1.内存 ...

  6. 小白的CTF学习之路4——内存

    明天要进行二模考试了,沉住气,加油,能过 内存是学C路上必不可少的一环,一定要非常认真的去学 内存的物理结构: ROM:只读内存——早期的手机 RAM:读写(数据断点既消) DRAM:经常更新 SRA ...

  7. 小白的CTF学习之路3——二进制数据基础与运算(下)

    处理了二进制的整数运算,下面我们来进行令人绝望的浮点数运算 我们先来看一下float事列程序: #include<"stdio.sh"> int main() { fl ...

  8. 新手小白的Linux学习之路

    大家好,我是一个零基础的新手小白,在此和大家分享一下新手小白的学习之路.欢迎各位大神指教!谢谢 Linux简介: Linux操作系统诞生于1991年10月,由芬兰赫尔辛基大学的在校生Linus Tor ...

  9. 小白的mapbox学习之路-显示地图

    刚接触mapbox,只是简单记下自己的学习之路,如有错误,欢迎大神指正 1-头部引入链接 2-body中定义一个div块,用来显示地图 3-在script中创建一个map对象,并设置相关参数 mapb ...

随机推荐

  1. ConvertHelper 通用类

    public class ConvertHelper<T> where T : new() { private static Dictionary<Type, List<IPr ...

  2. Java程序员必须知道的10个调试技巧

    调试可以帮助识别和解决应用程序缺陷,在本文中,将使用大家常用的的开发工具Eclipse来调试Java应用程序. 但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运 ...

  3. R----DT包介绍学习

    DT包:查看矩阵或数据框的内容 12 library(DT)datatable(iris, options = list(pageLength = 5)) DT包提供大量UI定制功能,即修改展示的HT ...

  4. Hadoop学习(2)-- HDFS

    随着信息技术的高度发展,数据量越来越多,当一个操作系统管辖范围存储不下时,只能将数据分配到更多的磁盘中存储,但是数据分散在多台磁盘上非常不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,因此诞 ...

  5. MySql小知识点

    1.查看MySql是什么编码 show create table tablename;

  6. Java如何匹配列表中的电话号码?

    在Java编程中如何匹配列表中的电话号码? 以下示例显示如何使用phone.matches(phoneNumberPattern)方法将列表中的电话号码与指定模式相匹配. package com.yi ...

  7. Mac 删除应用卸载后无法正常移除的图标

    经常会不通过appstore下载软件,也就是从网页中下载dmg,自己安装,但是当我不再想要这个软件,然后把它卸载掉之后就会发现,launchpad里还是遗留了这个软件的图标,而且删不掉.这个时候,就可 ...

  8. vim下如何去掉windows编辑的文件中的&Hat;M

    可以去掉^M, 例如: 在终端下敲命令: dos2unix a.c 直接转换成unix格式,这样就可以去掉^M •$dos2unix filename •vim filename :%s/^M$//g ...

  9. 【敏捷实用工具】JIRA介绍以及使用方法

    敏捷开发并不是由敏捷工具来推动的.但是没有敏捷工具的支持,就很难进行各种软件工程的相关事件,工具的作用是约束和流程,正确使用敏捷工具可以事半功倍,实践敏捷.近几年来敏捷开发催生大量敏捷工具的产生,在敏 ...

  10. 移植SDL最新版本(转)

    原文出自:http://blog.csdn.net/flyyang123456789/article/details/17223485 首先 将所要移植的包准备好  有 SDL2-2.0.1.tar. ...