二进制的补码怎么运算(二进制的补码怎么算?)

大家好,张承辉博客来为大家解答以上问题。二进制的补码怎么运算,二进制的补码怎么算?很多人还不知道,现在让我们一起来看看吧!

1、 正数的补数是指:正数的补数=原码和负数的补数={原码的符号位不变} {原码的符号位倒1 }或={原码的符号位不变} {数字位从右边第一个1开始不变,其右边的0,左边的位倒}以十进制整数97和-97为例:97原码=0110 _ 07。

2、方法有很多。

3、这里有一个更方便的写作方法。

4、以0.64为例,原代码为0.1010_0011_1101_0111b。

5、运算:从0.64 * 2 N中得到X,其中N为保留的小数位数(即N后的小数被认为不重要),X为乘法结果的整数部分。

6、这里,取n为16,则X=41943d=1010_0011_1101_0111b,即0.64的二进制表示左移16位后为1010_0011_1101_0111b,因此可以认为0.64d=0.1010 _ 0011 _ 11。

7、实验n取12得到x=2621d=1010 _ 0011 _ 101b,即0.64d=0.1010 _ 0011 _ 101b。

8、当忽略小数点后12位的位数时,计算结果相同。

9、3纯十进制的补码:纯十进制的补码规则是:获得十进制的源代码后,小数点的第一位表示符号。

10、从最低(右)位开始,找到第一个“1”并按如下方式书写,然后“见1写0,见0写1”。

11、以-0.64为例,其原码为1.1010_0011_1101_0111b,补码为1.0101_1100_0010_1001b。

12、当然,在verilog等硬件语言中,二进制表示是不可能带小数点的(其实我也不知道小数点要带哪里)。

13、4带小数的补码。

14、一般来说,这种情况下,先转换成整数运算比较方便——比如97.64。

15、经查询,其原编码为1110 _ 0001.1010 _ 1101 _ 0111b。

16、计算过程:-97.64 * 2 16=-6398935=1110 _ 0001它的补数是1001_1110_0101_1100_0010_1001b。

17、这里采用负补码={原码的符号位不变} { 1 }后值位逐位反转得到原码补码:方法3360,符号位不变,幅值反转1或,符号位不变。

18、量级-1反-97.64补码=1001 _ 1110(。

19、)0101 _ 1100 _ 0010 _ 1001b反过来=1110 _ 0001(。

20、)1010 _ 0011 _ 1101 _ 0110 B1=1110 _ 010 B1。

21、-5补码=4’b1011=6’b11_1011ps。

22、原代码的扩展是把符号位提到前面,然后是0。

23、-5原码=4′ b’ 1101=6′ b10 _ 0101,其补码为6’b11_1011,与上述一致。

24、扩展数据:计算机中符号的个数有三种表示方式,即原码的倒数和补码。

25、这三种表示方法都有两个部分:符号位和数值位。

26、符号位用0表示“正”,用1表示“负”,而数字位互不相同。

27、在计算机系统中,所有的数值都用补码来表示和存储。

28、原因是,通过使用补码,可以统一处理符号位和数值域;同时,加减法也可以统一处理。

29、另外,补码和原码是相互转换的,运算过程是一样的,不需要额外的硬件电路。

本文到此结束,希望对大家有所帮助。

(0)
上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐