https://mp.weixin.qq.com/s/9rGs9yN-OvLvEclnDZr87Q
零. 概念和结论
1. 数:概念名,指代物体的多少,即物体的量的概念;
2. 值:概念属性,数的值,是数的大小的衡量;
3. 十进制:值的表示,是数值在形式上的表现。形式相对内涵(意义)而言,某种形式表示的符号需要人来解读才有意义。十进制是人类自然而然形成的数值表示形式:
a. 包括十个符号表示十个基本数值:阿拉伯数字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
b. 使用进位(满十进一)来表示所有自然数: 10,11,12,13,14,15,16,17,18,19,20,21,...;
4. 自然数:Natural number, 人类在进化过程中自然而然用来计数、排序的数字。用现代划分,即为非负整数。十进制也是人类在进化过程中自然而然采用的数值表示形式,十进制的符号可以完整表示自然数;
5. 非自然数:指人类根据自然数和后来的实际需要,引申出来的数值表示形式。非自然数无法仅仅使用十进制的十个基本符号表达。小数需要添加小数点,分数需要添加分数线,负数需要添加负号,无理数需要根号、循环负号、省略号,虚数需要i,等等。
6. 符号:引入负数时,引入符号的概念。分为正负号。在引入负数之前,自然数可以认为是无符号的数字。引入负数之后,自然数被认为是带有负号的数字,0以上的自然数带有正号,0以下的整数带有负号。
7. 编码:使用基本数值符号表示非自然数的形式、方法,也就是不使用正负号、小数点、分数线等;
8. 二进制:使用0,1这两个基本数值符号和“满二进一”的进位规则的数值表示形式;同样,在不考虑符号的情况下,二进制也只是自然数的表示形式。即,无符号二进制数表示的是自然数。
9. 二进制编码:(不考虑浮点数的情况下)使用0,1这两个基本数值符号表示自然数和负整数的编码方式。因为不使用正负号,则需要使用0和1分别表示正号和负号。
原码把符号编码和数值编码分开处理,包括四则运算时也是分开处理。
补码则把符号编码和数值编码统一处理,包括四则运算时也统一处理。
原码和补码因负整数而存在,不考虑符号,则不存在这两个概念,只有二进制数(0,1,满二进一)的概念。
一. 二进制
二进制是指以2为基数,满二进一,以0,1为基本数值符号的数值表示形式。二进制是计算机中使用的数值表示形式,参考十进制引入。
二进制首先是一个数值表示形式。数,首先是自然数。四则运算,首先是自然数的四则运算。
即:二进制数值表示形式,首先解决自然数的表示和四则运算。其次,才考虑如何解决小数、分数、无理数、虚数的表示方法和运算方法。
二. 无符号数就是自然数
无符号二进制数,即是没有引入符号的二进制数,所有的位都是数值的表示,不包含符号。这种形式表示的数值是自然数。
自然数的四则运算:加和乘可以自然进行,结果也可以自然表示,没有问题。减存在不够减的问题,除存在除不尽的问题。这个与进制无关,十进制也存在这样的问题。
在引入符号和负数以前,如小学低年级学习减法和除法,减法需要先比较大小,然后再减;除法的结果则有商和余数两个值。
三.有符号数的编码方式
不引入符号,则二进制数只有数值部分。引入符号和负数的概念,则需要表达正负号。计算机不如人类,可以直接用笔写正号和负号,或者印刷正号和负号。目前而言,计算机中所有的一切都是使用0和1进行表示,也包括正号和负号。
编码针对有符号数而言,即如何使用二进制数值符号0和1表示符号部分和数值部分。
原码:符号部分和数值部分分开处理
四则运算运算时,也把符号部分和数值部分分开处理。加负数相当于减;减负数相当于加;乘则把符号提取出来单独相乘,再把最终的符号赋给积,负负得正;除的符号亦是如此。
补码:符号部分和数值部分统一处理,即符号部分参与运算。
首先,反码不是独立的编码。其次,补码是可以把符号位带入运算,着实很神奇,这里略去不表。
四.计算机中需要几种加减乘除实现
这取决于有符号数编码能否实现符号带入运算。
如果有符号数使用原码表示,则每种运算需要两种实现:
把二进制数据全部当成数值部分的无符号数运算,即二进制自然数运算;
把二进制数据当成是符号部分和数值部分编码在一起的原码表示的有符号数运算;
如果有符号数使用补码表示,根据Java Integer类的说法,二的补码表示方法,可以实现加减乘统一运算,除不可以。所以加减乘只需要一种实现处理无符号数(不考虑符号的数)和有符号数的运算,而除法则需要分开处理,有两种实现。(再考)

转载于:https://www.cnblogs.com/wjcdx/p/9322296.html

IC-二进制, 自然数, 有符号数相关推荐

  1. C#将16位二进制转换为有符号数

    //将双字节转换为有符号数. public int getValueFromUnSigned(byte bHight, byte bLow) { if (bHight < 128) return ...

  2. c语言无符号整型右移,c语言 java 有符号数,无符号数. 左移,右移运算

    1: c语言区分有符号数,无符号数.有符号数是符号位在首位,无符号数首位就是普通位数. java只有有符号数,换句话说java二进制中首位都是符号位.0正1负. 2: 左移在所有语言中只是左移,不存在 ...

  3. 无符号数转化为有符号数

    计算机存储数据是以补码形式存储的. 一般来说,有符号数值使用补码表示,无符号的数值使用原码来表示,因为正数原码=补码,其实也是补码. 无符号数值只有正数.所以比如一个16位元可以储存的最大正数是2的1 ...

  4. 有符号数(signed) 和 无符号数(unsigned)

    我们在程序中看到的数字都是十进制值(加OX前缀或H后缀等修饰的数值除外),但在计算机底层它们都是以二进制的形式表示的.即用0和1来表示,对各种进制之间的转换不熟悉的可以看看,进制转换 和 举例说明 有 ...

  5. Verilog 有符号数 signed

    首先记住,有符号数的运算全都是补码的方式. 在Verilog里面,可以使用有符号数据进行运算,定义时使用signed,例如 reg signed[7:0] adder: //定义了一个reg型有符号8 ...

  6. 如何判断一个数为无符号数还是有符号数

    方法一: 判断一个数是不是有符号数:首先判断这个数是不是小于零,小于零肯定是有符号数 然后根据无符号数和有符号数相减结果为无符号数 #include <iostream> using na ...

  7. verilog 有符号数

    (1)在FPGA综合成电路的时候最底层都是以补码的形式在运算,正数的补码就是本身,负数的补码要取反+1. (2)编译器高的版本都支持verilog有符号运算的综合了.在定义时直接加上signed即可, ...

  8. 6.1无符号数和有符号数

    6.1无符号数和有符号数 1. 数据在计算机中的表示 数据表示是指在计算机当中.能够被硬件.直接识别和处理的数据类型 所谓能够被硬件直接识别和处理.是指在计算机系统的指令级中.包含对这些种类型的数据进 ...

  9. 有符号二进制乘法及MATLAB有符号数16进制到2进制的转换问题

    目录 有符号数乘法 MATLAB有符号16进制转2进制 有符号数乘法 在服务器中搭建乘法器验证波形时,多比特二进制数手算比较麻烦,所以导入matlab计算正确的输出结果. 此时要注意乘法器的特性,举个 ...

  10. 工业用微型计算机笔记(2)-二进制有符号数

最新文章

  1. 单链表-判断单链表L是否是递增的(双指针法)
  2. cla作用matlab,共轭亚油酸(CLA)怎么吃?共轭亚油酸副作用
  3. 语音识别:时间序列Damerau–Levenshtein距离
  4. javascript +new Date()
  5. 那些常见的C++、Qt基础面试题
  6. datatable 查询_2020年浙江注册会计师成绩查询预告
  7. kotlin 判断数字_Kotlin程序可以逆转数字
  8. 西部数码 php.ini,如何修改PHP的memory_limit限制
  9. 车贷P2P平台设计市场需求文档(MRD)
  10. leetcode题解153-寻找旋转排序数组的最小值
  11. mysql的游标处理_MySQL存储过程 游标 错误处理的示例代码
  12. 使用Slim框架创建一个JSON RESTfull API
  13. java目录删除_java删除文件及目录
  14. java培训韩顺平_java韩顺平视频教程
  15. Spring Boot日志格式化JSON方案
  16. 见证人人的衰落,讲一句活该
  17. HttpServletResponse
  18. 【详细服务器配julia】
  19. 今日头条2018 坐标
  20. 【2021版】吐血整理_专升本计算机文化基础—Word2010

热门文章

  1. 记各种纸尿裤用后感——花王大王MOONY尤妮佳好奇帮宝适等等等
  2. Bmob后端云使用步骤
  3. compiled.php,laravel compiled.php 缓存 命令行
  4. 谢烟客---------Linux之 sed工具使用
  5. 仿 Drools 决策表 Groovy 实现
  6. 怎样关闭百度云开机启动服务器,怎样取消百度网盘的启动打开?百度网盘关闭启动自启的办法...
  7. 重磅资源!PyTorch的福音,用PyTorch 1.0进行教学的免费深度学习课程,来自idiap和瑞士洛桑联邦理工学院...
  8. 腾讯云折(tian)腾(keng)记
  9. Kubernetes 如何重塑虚拟机
  10. Mongodb节点同步失败状态“ RECOVERING ”恢复