10的源码为什么是16位(13的16位原码)
本文目录一览:
- 1、PLC中有很多数据类型转变的指令,现在我不明白16位整数是什么意思,如下图MD10的16位整数为什么是-701
- 2、计算机内部如何存储数据,关于源码、补码的问题!
- 3、10的源码 反码 补码是多少
- 4、整形数据的内存中的存放形式中为什么是16位呢?比如10的二进制形式表达为0000000000010100
PLC中有很多数据类型转变的指令,现在我不明白16位整数是什么意思,如下图MD10的16位整数为什么是-701
首先解释16位整数:所谓16位整数就是16个二进制位(16#7FFF)而对应的最大整数为32767;PLC中是用二进制的补码来表示有符号数的,定义最高位为符号位;当最高位位0时为正;最高位为1时为负;所以经过换算就是-701;(补码是正数先求反码(0变1;1变0)然后加1);
个人观点;希望对你有帮助;
希望各位同行多关注“佛山自动化”贴吧;那里会分享西门子及相关技术文章!
虽然刚启程,但确用心在分享;希望更多的人参与;帮助更多人,我们共同进步!
计算机内部如何存储数据,关于源码、补码的问题!
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
谢谢 采纳
10的源码 反码 补码是多少
楼主你好
源码:
00001010
反码(除了符号位 第一位不变外 其余的都是按源码取反):
01110101
补码(反码加1):
01110110
希望能帮助你哈
整形数据的内存中的存放形式中为什么是16位呢?比如10的二进制形式表达为0000000000010100
因为在电路里的开关元件有开通和关断两种截然不同的状态,如果只有一个开关元件,那就可以稳定地处于开通或者关断状态,如果开通用1表示,关断用0表示,那就只能表示0或者1,我们称其为一位。16个这种元件排列起来,就可以表示从0000000000000000到1111111111111111之间的任何状态,这就是16位。
之所以不用十进制是因为找不到具有10个稳定状态的元件。
以下给出十进制和二进制的对应关系
十进制 二进制
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
十进制是逢十进一,二进制是逢二进一