zoukankan      html  css  js  c++  java
  • 计算机内部如何存储数据,关于源码、补码的问题!

    1. 什么是源码,反码,补码?
    2. 计算机内部存储的是源码 还是 反码 还是 补码??
    3. 这样一个二进制数:00010010 这是表示正数还是负数?他的几??
    
    
     
    1.
    补码
    (1)正数的补码
      与原码相同。   【例1】+9的补码是00001001。(备注:这个+9的补码说的是用8位的2进制来表示补码的,补码表示方式很多,还有16位2进制补码表示形式,以及32位2进制补码表示形式等。)
    (2)负数的补码
      符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。   同一个数字在不同的补码表示形式里头,是不同的。比方说-15的补码,在8位2进制里头是11110001,然而在16位2进制补码表示的情况下,就成了1111111111110001。在这篇补码概述里头涉及的补码转换默认了把一个数转换成8位2进制的补码形式,每一种补码表示形式都只能表示有限的数字。
    原码
    原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面 原码
    增加了一位符号位(即最高位为符号位),该位为0表示正数或者0(当为0时第一位不能为1,因为如果把10000000也当成0会造成和-128原码冲突),该位为1表示负数,其余位表示数值的大小。
    反码
    所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。   反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。   补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

    2.
    (1)、在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
    (2)、补码与原码的转换过程几乎是相同的

    3. 2.^4+2.^1 = 17 表示 17
    嵌入式软件设计
  • 相关阅读:
    重新梳理HTML基础知识
    Bootstrap响应式栅格系统的设计原理
    php 循环爬虫 or 持久执行任务 总断掉服务 解决,flush(),ob_flush()的组合使用
    Linux中工作目录切换命令
    Linux中系统状态检测命令
    Linux系统中rm删除命令
    Linux中touch命令使用(创建文件)
    Linux中 mkdir 创建文件夹命令
    Linux 中 cp 命令(文件复制)
    Linux中 mv(文件移动)
  • 原文地址:https://www.cnblogs.com/hao02171990/p/3031963.html
Copyright © 2011-2022 走看看