• #20155327 2016-2017-2 《Java程序设计》第三周学习总结


    20155327 2016-2017-2 《Java程序设计》第三周学习总结

    教材学习内容总结

    一、三种重要的数字表示

    无符号:编码基于传统的二进制表示法,表示大于或者等于零的数字。
    补码:编码是表示有符号整数的最常见的方式,有 符号整数就是可以为正或者为负的数字。
    浮点数:编码是表示实数的科学记数法 的以二为基数的版本。

    二、信息存储

    机器级程序将存储器视为一个非常大的字节数组, 称为虚拟存储器。存储器的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合称为虚拟地址空间。
    1.十六进制表示法
    2.字
    每台计算机都有一个字长,指明整数和指针数据的标称大小。因为虚拟地址是以这样的一个字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的最大大小。对于一个字长为w位的机器而言,虚拟地址的范围为0~2w-1,程序最多访问2w个字节,计算机多为32和64位。
    3.字节顺序
    小端法——在存储器中按照从最低有效字节到最高有效字节的顺序存储对象。
    大端法——从最高有效字节到最低有效字节的顺序存储。
    小端法:高对高,低对低。
    大端法:高对低,低对高。
    4.布尔代数
    与或非,取反运算。
    用0、1表示真假,以研究逻辑推理的基本原则。
    5.C语言中的运算
    位级:将十六进制的参数扩展成二进制表示并执行二进制运算,然后再转换回十六进制。
    逻辑:逻辑运算符 “||、&&、!”分别对应于命题逻辑中的OR、AND、NOT运算。
    移位:对于无符号数据,右移必须是逻辑的。而对于有符号数据,算术的或者逻辑的右移都可以。
    6.整数表示

    7.无符号数与有符号数转换
    强制类型转换的结果保持位值不变,改变解释这些位的方式。
    处理同样字长的有、无符号数之间相互转换的规则:数值可能会变,但是位模式不变。(底层的位表示保持不变)
    8.IEEE浮点表示
    (1)特点
    符号:s决定这个数是负数(s = 1)还是正数(s = 0),而对于数值0的符号位解释作为特殊情况处理。
    尾数:M是一个二进制小数,它的范围是1 ~ 2-ε,或者是0 ~ 1-ε。
    阶码:E的作用是对浮点数据加权,这个权重是2的E次幂(可能是负数)。
    (2)两种不同的浮点数据类型
    float和double
    (3)浮点数的舍入
    向偶数舍入(默认)、向零舍入、向下舍入、向上舍入。
    字长决定虚拟地址空间的最大大小(对于一个字长为w位的机器,虚拟地址的范围为0~2^w-1)。

    教材学习中的问题和解决过程

    1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。

    2.大端法(Big-Endian)就是高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端。
    位向量常用于集合的表述(状态压缩常用)。
    对于无符号数,右移必须是逻辑的;对于有符号数,逻辑、算数右移都可以。

    理解二进制在计算机中的重要地位

    1.从可行性来说,采用二进制,只有0和1两个状态,能够表示0和1两种状态的电子器件有很多,比如开关的接通和断开、晶体管的导通和截止、磁原件的正负剩磁、电位电平的高低等都可以表示0和1两个数。使用二进制,电子器件具有实现的可行性。

    2.从运算的简易性来说,二进制的运算法则少,运算简单,使计算机运算器的硬件结构大大简化(十进制乘法九九口诀有55条公式,而二进制乘法只有四条规则)。

    3.从逻辑上讲,由于二进制0和1正好和逻辑代码假和真相对应,有逻辑代数的理论基础,用二进制表示二值逻辑很自然。

    掌握布尔运算在C语言中的应用

    布尔运算定义了几种二进制的运算,或、与、非和异或是我们在平时的编程过程当中也会遇到。

    理解有符号整数、无符号整数、浮点数的表示

    %d 十进制有符号整数

    %u 十进制无符号整数

    %f 浮点数

    理解补码的重要性

    能够统一+0和-0的表示,对于有符号整数的运算能够把符号位同数值位为一起处理

    代码托管

    上周考试错题总结

    错题1及原因,理解情况
    错题2及原因,理解情况
    ...

    结对及互评

    评分标准

    正确使用Markdown语法(加1分):
    不使用Markdown不加分
    有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    排版混乱的不加分
    模板中的要素齐全(加1分)
    缺少“教材学习中的问题和解决过程”的不加分
    缺少“代码调试中的问题和解决过程”的不加分
    代码托管不能打开的不加分
    缺少“结对及互评”的不能打开的不加分
    缺少“上周考试错题总结”的不能加分
    缺少“进度条”的不能加分
    缺少“参考资料”的不能加分
    教材学习中的问题和解决过程, 一个问题加1分

    代码调试中的问题和解决过程, 一个问题加1分

    本周有效代码超过300分行的(加2分)
    一周提交次数少于20次的不加分
    其他加分:
    周五前发博客的加1分
    感想,体会不假大空的加1分
    排版精美的加一分
    进度条中记录学习时间与改进情况的加1分
    有动手写新代码的加1分
    课后选择题有验证的加1分
    代码Commit Message规范的加1分
    错题学习深入的加1分
    点评认真,能指出博客和代码中的问题的加1分
    结对学习情况真实可信的加1分
    扣分:
    有抄袭的扣至0分
    代码作弊的扣至0分
    迟交作业的扣至0分
    点评模板:

    博客中值得学习的或问题:
    xxx
    xxx
    ...
    代码中值得学习的或问题:
    xxx
    xxx
    ...
    基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

    参考示例

    点评过的同学博客和代码

    本周结对学习情况

    上周博客互评情况
    学号1
    学号2
    学号3
    学号4
    ...
    其他(感悟、思考等,可选)
    xxx
    xxx

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难,软件工程 估计方法

    计划学习时间:25小时

    实际学习时间:15小时

    改进情况:

    (有空多看看现代软件工程 课件
    软件工程师能力自我评价表)

    参考资料
    Java学习笔记(第8版)

    《Java学习笔记(第8版)》学习指导
    ...

  • 相关阅读:
    什么是PV UV PR值
    手工测试了各个搜索引擎对博客文章的收录
    Linux 常用命令
    部分linux命令详解
    左右滑屏的实现
    网络资源下载时断点续传的实现
    MYSQL5.5.37win32.msi 这个版本得程序包谁有吗 可以给我一下吗?
    Linux(CentOS6.5) 开放端口,配置防火墙
    centos7 下出现 yum list 报错 还有yum groupolist 查询软件组列表报错
    linux命令(1):ls命令
  • 原文地址:https://www.cnblogs.com/l97----/p/7674744.html
Copyright © 2020-2023  润新知