zoukankan      html  css  js  c++  java
  • 预习原码补码

    试题1
    1000 0111
    试题2
    1111 1000
    试题3
    1111 1001
    试题4
    0111 1001
    试题5
    1000 0011
    试题6
    1111 1100
    试题7
    1111 1101
    试题8
    0111 1101
    试题9
    1000 0010
    试题10
    1111 1101
    试题11
    1111 1110
    试题12
    0111 1110
    试题13
    0000 0111
    试题14
    0000 0111
    试题15
    0000 0111
    试题16
    1000 0111
    试题17
    0000 0011
    试题18
    0000 0011
    试题19
    0000 0011
    试题20
    1000 0011
    试题21
    0000 0001
    试题22
    0000 0001
    试题23
    0000 0001
    试题24
    1000 0001
    试题25
    -111 1101
    试题26
    -111 1111
    试题27
    +1111

    原码

    原码是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

    重点

    ①0的表示方法有两种
    ②原码有优点也有缺点,优点是简单直观,缺点是不能直接参加运算
    ③原码的编码方式
    ④原码的定义

    难点——————原码的编码方式

    原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。一个字长为n的机器数能表示不同的数字的个数是固定的2n个,n=8时2n=256;用来表示有符号数,数的范围就是 -2^(n-1)-1 ~ 2^(n-1)-1,n=8时,这个范围就是 -127 ~ +127。但是在不需要考虑数的正负时,就不需要用一位来表示符号位,n位机器数全部用来表示是数值,这时表示数的范围就是02^n-1,n=8时这个范围就是0255.没有符号位的数,称为无符号数。

    难点——————原码的定义

    ①小数原码的定义
    [X] =
    X( 0≤X <1 )
    1- X (-1 < X ≤ 0)
    例如: X=+0.1011 , [X]原= 0.1011
    X=-0.1011 [X]原= 1.1011
    ②整数原码的定义
    [X]原 =
    X (0≤X <2(n-1))
    2(n-1)-X (- 2(n-1) < X ≤ 0)
    x为正整数时,[X]原=x;
    x为负整数时,[X]原=2的n次方-x;
    x为负小数时,[X]原=1-x;

    补码(以下内容来自简书上某个博主)

    知道了计算机最基本的运算规则:有模运算。那么应该带入正号来求出负数。
    首先,还是规定首位为0就是正数。例如正数A。
    那么负数可以看成:-A(0<=A<M,M为模)
    已知:A=B+K*M ,可得 :-A = -A + M ,
    同时:已知0<=A<M , 可得 :(-A+M) > 0。
    这相当于用一个正数 (-A+M) 表示出一个负数 -A 。
    同理可得,A = A+M。

    重点难点——————补码的定义:

    对于任意一个数 X ,都有X = X + M (X mod M)。
    推广到计算机(假设字长为n),可以得到定义:

    (注意:负数部分=号,是强制规定,例如8位字长机器码对应10000000,我们强制认定为-128)

    重点难点——————补码的性质:

    ①补码的符号位

    首位0一定是正数,首位1一定是负数
    ②**补码中的补码的范围
    ③假设机器字长为n。
    定点小数:
    -1 <= x < 1- 2^(-(n-1)) ==>1.0 ~ 0.111....1(n-1个1)
    定点整数:
    -2^(n-1) <= x <= 2^(n-1)-1 ==>1000...0 ~ 0999..9

    疑点——————补码、真值、原码间的相互转换

    反码

    反码是数值存储的一种,多应用于系统环境设置

    移码

    移码(又叫增码或偏置码)通常用于表示浮点数的阶码,其表示形式与补码相似,只是其符号位用“1”表示正数,用“0”表示负数,数值部分与补码相同。

    重点难点——————定义

    移码(又叫增码或偏置码)通常用于表示浮点数的阶码,其表示形式与补码相似,只是其符号位用“1”表示正数,用“0”表示负数,数值部分与补码相同。
    ①移码的定义:设由1位符号位和n位数值位组成的阶码,则 [X]移=2n-1 + X(-2n-1≤X<2n-1)
    例如: n=5时
    当X=+3,则[X]移=10011
    当X=-3,则[X]移=01101 [2]
    ②移码与补码的关系: [X]移与[X]补的关系是符号位互为相反数(仅符号位不同),
    例如: X=+01011[X]补=01011 [X]移=11011
    X=-11011 [X]补=10101 [X]移=00101
    ③移码运算应注意的问题:
    ◎对移码运算的结果需要加以修正,修正量为2En ,即对结果的符号位取反后才是移码形式的正确结果。
    ◎移码表示中,0有唯一的编码——1000…00,当出现000…00时(表示-2En),属于浮点数下溢。

  • 相关阅读:
    IP地址分类
    HTTP协议基础
    PHP中md5()函数绕过
    支付宝转账
    前端常用小工具
    防抖和节流
    分模块简单使用vuex
    vue-cli 2+antd定制主题
    浅谈Promise
    vue中用js实现文件上传和文件下载
  • 原文地址:https://www.cnblogs.com/wenwener/p/13647741.html
Copyright © 2011-2022 走看看