精华内容
下载资源
问答
  • 二进制数位数扩展方法
    2020-12-30 10:30:33

    1.当两个二进制数运算时,整数位和小数位字长必须相等,即两个数的整数位数应相同,小数位数应相同;若两个数的位数不同或者运算时溢出,则应该扩展位数!

    2.整数和小数 扩展位数的规则:

    (1)正数:有符号或无符号数的原码,反码,补码,一律整数在高位补0来补充少的位数,小数在低位补0来补充少的位数;

    (2)原码负数:整数高位补0,小数低位补0;

    (3)反码负数:整数高位补1,小数低位补1;

    (4)补码负数:整数高位补1,小数低位补0;(非常重要,在硬件编程中经常用到!!!)

    例子:verilog中,将a扩充为10位的b

              wire [7:0] a;
    
      wire [9:0] b = {{2{a[7]}},a};
    
    更多相关内容
  • Java运算符及二进制常识

    千次阅读 2021-03-18 00:21:45
    、位运算 二、位移运算 三、二进制数以Java中最常...递增:二进制数右端每次加1(逢2进1),一直到31符号位的0全部变为1,得到最大的正整数2147483647。⑵ -1是最大的负整数,符号位为1,其它31位也全部为1。递...

    一、位运算

    0818b9ca8b590ca3270a3433284dd417.png

    二、位移运算

    0818b9ca8b590ca3270a3433284dd417.png

    三、二进制数

    以Java中最常使用的int类型为例(32位)。

    0818b9ca8b590ca3270a3433284dd417.png

    ㈠ 符号位

    二进制数最左端的数字为符号位:0代表正,1代表负。

    ㈡ 最大与最小

    ⑴  1是最小的正整数,符号位为0,最后一位为1,其它全部为0。

    递增:二进制数右端每次加1(逢2进1),一直到31个非符号位的0全部变为1,得到最大的正整数2147483647。

    ⑵ -1是最大的负整数,符号位为1,其它31位也全部为1。

    递减:二进制数右端每次减1(逢0借1),一直到31个非符号位的1全部变成0,得到最小的负整数为-2147483648。

    ㈢ 原码、补码、反码

    ⑴ 原码

    根据数学上的表示习惯:“+”代表为正数,只要将“+”变为“-”,那么就是对应的负数。譬如 +1 对应的负数为 -1。

    根据这个原则,二进制数的负数表示本来应该如下图:

    0818b9ca8b590ca3270a3433284dd417.png

    以正数的二进制数表示为基准,负数的表示只改变符号位,这样的表示方式就是原码。因此,正数的表示方式都是原码。

    事实上的二进制的负数并不是如上面的原码这样表示,譬如-1是32个1。那么这样的表示方式是如何得到的呢?

    ⑵ 反码

    反码就是将原码除符号位以外的值全部取反,原来是1的变为0,原来是0的变为1。例如使用-1的原码得到的反码如下图所示:

    0818b9ca8b590ca3270a3433284dd417.png

    ⑶ 补码

    补码就是在反码的基础上,在二进制数的右端末位加1(逢2进1)。如下图所示:

    0818b9ca8b590ca3270a3433284dd417.png

    对比本节开始的图,你会发现补码的32个1正是十进制表示的 -1。

    原码、反码和补码都是计算机的定点表示法。事实上,当前的绝大多数计算机使用的都是补码表示法,虽然历史上曾经生产过反码表示的计算机。

    C语言标准没有明确规定必须使用补码表示法,Java则明确规定了必须使用补码表示法。

    ⑷ 总结

    正数的原码和反码和补码都一致;负数的原码是正数的符号位取反;负数的反码是原码的非符号位取反;负数的补码是反码加1。

    但,使用补码表示有何好处呢?

    ㈣ 补码的好处

    以 +1 和 -1 作加法运算为例,如下图所示:

    0818b9ca8b590ca3270a3433284dd417.png

    相信你已经发现,1 + (-1) 这样的加法运算只要将二进制数相加,然后-1的末位就会变成2,根据逢2进1机制,从右至左依次所有位都会变成0。

    最后,最左端的符号位也会进位1变成0,丢弃溢出的1,就得到最后的结果0的二进制表示32个0。

    对照本节开头的图,会发现所有的减法都可以转换成二进制位的加法运算:1-2 可以转换成1+(-2),(-1)-(-2)可以转换成-1+2……

    这跟数学中的表示是一样的,而且非常地方便计算(很多计算机科学家都是从数学领域转入计算机工程,所以在很多细微之处的都能见到数学的影子)。因此,现代计算机硬件结构实际上只设计了加法器,大部分的减法其实都是转换成加法后再运算。

    四 小技巧

    ⑴ 乘法除法:n * 2 等价于 n << 1; n * 5 等价于 n << 2 + 1; n / 2 等价于 n >> 1。

    备注:JVM执行时会自动转化,大部分其它高级语言的编译器会做类似优化转换,所以除非有特殊的理由,否则别这么写。

    ⑵ 取低位:n & 0x0000FFFF;取高位:n & 0xFFFF0000。

    ⑶ 奇偶判断:n & 1,等于0为偶,等于1为奇。

    ⑷ 正负判断:(n >>> 31) & 1,等于0为正,等于1为负。

    ⑸ 取余:n % m ,如m为2的幂次方,可用(n & (m - 1))替代。

    …………

    网上有很多类似的小技巧,有兴趣的读者可以自行搜索。

    本文简单了介绍二进制的基本常识,希望能帮助大家在阅读源码、学习汇编和操作系统等底层原理时能更好地理解内容,与及帮助下那些在学习原码、反码、补码时被很多博客或者资料绕得云里雾里的人们。

    最后,如有错误之处请务必指正,谢谢!

    参考资料:

    《深入理解计算机系统》Randal E.Bryant  David R.O’Hallaron

    展开全文
  • 设计带符号位的 8 位加法器电路,每的最高位为符号位符号位‘1’ 表示-,符号位‘0’表示+
  • matlab实现十进制到二进制定点有符号补码小数的转换,其中定点小数的整数部分位长和小数部分位长可以自己指定,输出的最高位表示符号位(0为整数,1为负数),补码表示
  • 二进制中的符号位的区分以及表示

    万次阅读 2018-05-23 13:27:00
    问题1:  二进制中的表范围是怎么得来的? 无符号是0-255;...而如果表示带符号,则最高位就是符号位,0表示"+",1表示"-",剩下的7位用来表示绝对(采用补码形式).0用"+0"表示,正数为+1~+127,负数为-1~-1...

    问题1:

      二进制中的表数范围是怎么得来的?
     无符号是0-255;
     有符号是-128-127;为什么是这样的范围?

           8位二进制码有2^8=256个状态.如果用来表示无符号数,就可以表示0~255恰好256个二进制数;而如果表示带符号数,则最高位就是符号位,0表示"+",1表示"-",剩下的7位用来表示绝对(采用补码形式).0用"+0"表示,正数为+1~+127,负数为-1~-127,剩下一个"-0"则用来表示-128(在数学中,0是没有正负的),所以,带符号数的表示范围就成了-128~+127了.

     

     

        位数不足的前面自动补零,计算机默认是有位数的,所以我们要加上"+" "-",来进行正负的区分

     

    转载于:https://www.cnblogs.com/CrisZjie180228/p/9076438.html

    展开全文
  • 本文主要给出VHDL八位二进制数减法器不带符号和带符号的两程序。
  • 1二进制数1101.1111转换成十六进数应为()A.A.FB.E.FC.D.FD.A.E2二进制数110101对应的十进制数是()A.44B.65C.53D.743二进制数11011+1101等于()A.100101B.10101C.101000D.100114二进制数11101011-10000100等于()A....

    1二进制数1101.1111转换成十六进数应为()

    A.A.F

    B.E.F

    C.D.F

    D.A.E

    2二进制数110101对应的十进制数是()

    A.44

    B.65

    C.53

    D.74

    3二进制数11011+1101等于()

    A.100101

    B.10101

    C.101000

    D.10011

    4二进制数11101011-10000100等于()

    A.1010101

    B.10000010

    C.1100111

    D.10101010

    5二进制数11101101.111与()不等.

    A.E

    D.7(H)

    B.E

    D.E(H)

    C.355.7(O)

    D.237.875(

    D.

    6二进制数1111101011011转换成十六进制数是()

    A.1F5B

    B.D7SD

    C.2FH3

    D.2AFH

    7二进制数真值+1010111的补码是()

    A.11000111

    B.1010111

    C.11010111

    D.101010

    8二进制数真值-1010111的补码是()

    A.101001

    B.11000010

    C.11100101

    D.10101001

    9根据国标码GB2312-80的规定,共收集了()汉字及符号.

    A.6763个

    B.3008个

    C.3755个

    D.7445个

    10根据某进制的运算规则2*3=10,则3*4=()

    A.15

    B.17

    C.20

    D.21

    11国标码规定,每个字符由()字节代码组成.

    A.4

    B.2

    C.1

    D.3

    12汉字从键盘录入到存储,涉及汉字输入码和汉字()

    A.DOC码

    B.ASCII码

    C.区位码

    D.机内码

    13汉字的字形通常分为()两类.

    A.通用型和精密型

    B.通用型和专用型

    C.精密型和简易型

    D.普通型和提高型

    14汉字国标码规定,每个汉字用()个字节表示.

    A.1

    B.2

    C.3

    D.4

    15汉字系统中的汉字字库里存放的是汉字的()

    A.机内码

    B.输入码

    C.字形码

    D.国标码

    16汉字在计算机方面,是以()形式输出的.

    A.内码

    B.外码

    C.国标码

    D.字形码

    17和十进制数225相等的二进制数是()

    A.11100001

    B.11111110

    C.10000000

    D.11111111

    18基本字符的ASCII编码在机器中的表示方法准确地描述应是()

    A.使用8位二进制码,最右边一位为1

    B.使用8位二进制码,最左边一位为0

    C.使用8位二进制码,最右边一位为0

    D.使用8位二进制码,最左边一位为1

    19计算机的机内数据一律采用()进制.

    A.十

    B.八

    C.二

    D.十六

    20计算机内部采用二进制表示数据信息,二进制主要优点是()

    A.容易实现

    B.方便记忆

    C.书写简单

    D.符合使用的习惯

    21计算机用()方式管理程序和数据

    A.二进制代码

    B.文件

    C.存储单元

    D.目录区和数据区

    22计算机中的机器数有三种表示方法,下列()不是.

    A.反码

    B.原码

    C.补码

    D.ASCII码

    23计算机中的西文字符的标准ASCII码由()位二进制数组成.

    A.16

    B.4

    C.7

    D.8

    24计算机中位的英文名字为()

    A.bit

    B.Byte

    C.unit

    D.word

    25计算机中信息的存储采用()

    A.二进制

    B.八进制

    C.十进制

    D.十六进制

    26计算机中一个浮点数由()两部分组成.

    A.阶码和基数

    B.阶码和尾数

    C.基数和尾数

    D.整数和小数

    27计算机中字节是常用单位,它的英文名字是()

    A.Bit

    B.byte

    C.bout

    D.baut

    28计算机中最小的存储单元是()

    A.字节

    B.字

    C.字长

    D.地址

    29假设一种计算机内存容量是1M字节,则表示有()个二进制位.

    A.1024×1024×8

    B.1024×8

    C.1024×1024×4

    D.1024×4

    30将八进制154转换成二进制数是()

    A.1101100

    B.111011

    C.1110100

    D.111101

    31将八进制数143.1转换成十进制数是()

    A.99.125

    B.165.125

    C.121.1

    D.101.1

    32将八进制数145.72转换成二进制数是()

    A.1100111.11101

    B.1110101.1111

    C.11001010.010111

    D.1100101.11101

    33将八进制数712.64转换成二进制数是()

    A.1111110.1101

    B.111001010.1101

    C.110101011.10011

    D.111011010.011001

    34将二进制1001101转换成十六制数为()

    A.3C

    B.4C

    C.4D

    D.4F

    35将二进制数0.0100111转换成八进制小数是()

    A..235

    B..234

    C.37

    D..236

    36将二进制数01100100转换成八进制数是()

    A.123

    B.144

    C.80

    D.100

    37将二进制数01100100转换成十进制数是()

    A.144

    B.90

    C.-64

    D.100

    38将二进制数01100100转换成十六进制数是()

    A.64

    B.63

    C.100

    D.0AD

    39将二进制数10110101转换成十进制数是()

    A.180

    B.181

    C.309

    D.117

    40将二进制数1011010转换成十六进制数是()

    A.132

    B.90

    C.5A

    D.A5

    41将二进制数1011011.1101转换成八进制数是()

    A.133.65

    B.133.64

    C.134.65

    D.134.66

    42将二进制数1011011.1转换成八进制数是()

    A.551.1

    B.552.4

    C.131.1

    D.133.4

    43将二进制数101101101.111101转换成十六进制数是()

    A.16.F2

    B.16

    D.F4

    C.16

    E.F2

    D.16F2

    44将二进制数10111101001转换成十六进制数是()

    A.BD1

    B.BD2

    C.5000000000

    D.AE9

    45将二进制数11001.1001转换成十进制数是()

    A.25.5625

    B.26.5625

    C.25.6

    D.26

    46将二进制数1101001.0100111转换成八进制数是()

    A.151.234

    B.151.236

    C.152.234

    D.151.237

    47将十进制数0.265625转换成二进制数是()

    A..1011001

    B..0100001

    C..0011101

    D..010001

    48将十进制数215.6531转换成二进制数是()

    A.11110010.000111

    B.11101101.110011

    C.11010111.101001

    D.11100001.111101

    49将十进制数215转换成八进制数是()

    A.327

    B.268

    C.352

    D.326

    50将十进制数215转换成二进制数是()

    A.11101011

    B.11101010

    C.11010111

    D.11010110

    展开全文
  • 在leetcode上刷第七题时,提到32的有符号二进制数表示的整数范围为:-2^31~2^31-1,那这是怎么来的呢? 首先对于计算机内存存储的二进制数,具体表示什么其实是交给人来决定的,如: 1000 0001 有符号数表示的...
  • 例如2157的千位是2,百位是1,十是5,个位是7,可以写成:2 x 1000 + 1 x 100 + 5 x 10 + 7 x 1注意,1000是10的立方(即3次幂),100是10的平方(即2次幂),10是10的1次幂,而且10(以及任意正数)的0次幂是1。...
  • 8位二进制数的表示范围为[-127,127]; 反码:正数数值部分是数值本身,符号位为0;负数的数值部分是在正数表示的基础上对各位取反,符号位位1。 8位二进制数的表示范围为[-127,127]; 补码:正数数值部分是数值...
  • 8位二进制数范围

    千次阅读 2020-04-15 21:22:59
    原码:用符号位和数值标识带符号,第位表示符号位,正数的符号位用0,负数的符号位用1,数值部分用二进制形式标识 反码:正数的反码与原码相同,负数的反码为对该的原码除符号位外取反 补码:正数的反码与原码...
  • CPU次能处理二进制数据的位数

    千次阅读 2021-07-22 00:57:35
    正确答案: ACPU次能处理二进制数据的位数题目:字长是CPU的主要性能指标之,它表示( )。解析:解析:字长是指计算机运算部件次能同时处理的二进制数据的位数。字长越长,作为存储数据,则计算机的运算精度就越...
  • str1 = input('请输入一个二进制数:') lenth = len(str1) #求字符串长度 for i in range(1,lenth): if str1[i] == '1': #判断该二进制数各位值为1或0,为1则进行后续计算 save = 2**(lenth-i-1)
  • 在计算机内部,8符号二进制整数可表示的十进制的最大值是127。二进制的“00101000”直接可以转换成16进制的“28”。字节是电脑中的基本存储单位,根据计算机字长的不同,字具有不同的位数,现代电脑的字长一般是...
  • 二进制符号数加法

    万次阅读 2017-06-15 09:27:48
    二进制补码加法运算
  • 符号二进制数的减法

    千次阅读 2020-01-18 12:48:49
    有符号二进制数的减法 本人的简单学习过程。。。 题目:十进制6-12=-6,利用有符号位二进制写出来过程。
  • 二进制符号数的原码、反码、补码

    千次阅读 2020-02-21 15:52:21
    二进制符号数最左位位符号位,0表示正,1表示负 2 二进制符号数的三种表现形式 2.1 符号数值形式 在符号数值形式下,正数和负数的数值位均为其原码,符号位0为正,1为负。 如:十进制 + 100 +100 + 1 0 0...
  • Java 基本类型与二进制数位的本质

    千次阅读 2021-03-01 06:48:15
    1.Java中的基本类型以二进制补码的形式表示,最高位为符号位:如12, 用二进制表示为:0000 1100而-125, 用二进制表示为:1000 0011另补充原码,反码,补码的含义:原码:将一个整数,转换成二进制,就是其原码。...
  • 带符号二进制数的表示方法与常用编码 1.原码 字长最高位为符号位,正号用0表示,负号用1表示。 当字长为n位时,X=xn-1 xn-2 … x1 x0 整数 0 <= X < 2n-1     X原码=X -2n-1 < X < 0     X原码=2n...
  • 一个字节由几个二进制位组成

    千次阅读 2021-07-03 05:36:14
    聊到几个,我们许多人都...一个字节由几个二进制位构成字节是以二进制盘算的,包含八位的二进制数一个字节通常8长,但是,一些老型号计算机布局使用不同的长度。为了避免杂乱,在大多数国际文献中,利用词代替b...
  • 计算机中的二进制则是一个非常微小的开关,用1来表示“开”,0来表示“关”。 二进制的优点 数字装置简单可靠,所用元件少; 只有两个数码0和1,因此它的每一位数都可用任何具有两个不同稳定状态的元件来表示; 基本...
  • 二进制数的加法步骤解析

    千次阅读 2020-11-18 17:43:00
    文章目录运算二进制数加法步骤例子代码演示 二进制的加法需要用到位运算,所以先来复习下运算。 运算 运算 符号(java) 描述 与 & 都为1,结果为1,否则为0。 或 | 有一个为1或两个都为1,...
  • 二进制数与十进制的转换 聊二进制数的运算前,我们先看看二进制数的值与十进制的值是如何相互转换的, 十进制转换成二进制 ...只需将二进制数的各数位的值和权相乘,然后将相乘的结果相加即可,有木有...
  • 计算机基础:16、二进制--有符号数和无符号数1、有符号数和无符号数1.1、二进制原码表示法1.2、二进制的补码表示法1.3、二进制的反码1.4、小数的补码1.5、原码、补码、反码总结 1、有符号数和无符号数 1.1、二进制...
  • 想要了解二进制数是如何表示计算机信息的?先要追本溯源, 二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这系统中,通常用两不同的符号0(代表零)和1(代表)...
  • 符号数二进制表示方式

    万次阅读 2019-04-21 14:51:36
    32位数一共可以表示个数,对于有符号来说,表示,其中第位是符号位。符号为1表示负数;0表示正数。 源码表示: 十进制 二进制源码 二进制反码 二进制补码 65535 01111111 11111111 11111111 ...
  • 符号二进制数的算术运算

    万次阅读 2019-02-24 19:50:16
    、无符号二进制数的运算规则: 无符号二进制数的加、减、乘、除四则算数运算法则其实与十进制的四则算数运算法则是一一对应的。如果你理解了十进制的四则算数运算法则,那么理解无符号二进制数的四则运算相对来...
  • 任意二进制数转换为十进制

    千次阅读 2021-05-21 02:40:38
    任意位数二进制数转换成十进制c语言程序写作而成程序简明易懂附加有程序运行结果任意二进制转十进制程序代码:#include#include#includelong float change(char str[],int n){int xsd,i;for(i=0;i{if(str[i]=='....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 331,561
精华内容 132,624
关键字:

二进制数符号位是哪一个