第二次笔记: 无符号整数的表示和运算 有符号整数的表示和运算 原码 补码 反码 移码

简介: 第二次笔记: 无符号整数的表示和运算 有符号整数的表示和运算 原码 补码 反码 移码

无符号整数的表示和运算


没有符号位,所有的都是数值位。溢出的话被舍去。


image.png


无符号加法:从最低位开始,按位相加,并往更高位进位


image.png


无符号减法:先进行变化,之后进行加法运算

减数B的变形:从右边找到第一个1,这个1左边的所有位置都取反。然后和被减数相加。


image.png


带符号整数的表示和运算



1.带符号的整数表示可以使用三种方式:原码,补码,反码。


2.原码


image.png


原码的缺点就是符号位参与运算的话会出现错误


image.png


0100110是38

所以要使用补码进行运算。


3.补码

补码的符号位是可以参与运算的。


image.png

正数的原码和补码是一样的。

负数的补码需要改变。


补码的加法运算第一个(符号位参与运算)


image.png


补码的加法运算第二个


image.png


首先算出来A+B的补码加法,之后将这个结果转变成原码


补码的减法运算


image.png


4.反码

数值位取反


5.移码

补码的基础上对符号位进行取反。移码只用来表示整数


相关文章
|
1月前
|
存储 C语言
计算机是怎么存储整数的,原码、反码、补码又是个啥?
计算机是怎么存储整数的,原码、反码、补码又是个啥?
101 4
|
26天前
【编程基础知识】正数负数的二进制位运算(左移 右移 无符号右移)
正数和负数需转换成二进制后进行移位运算。左移低位补0,不影响符号位;右移符号位跟随移动,最高位还原为原符号位;无符号右移高位补0,适用于负数处理。
65 0
|
6月前
|
存储 C语言
用加法器实现补码的加/减运算
用加法器实现补码的加/减运算
127 0
|
6月前
|
存储
原码,补码的乘法运算
原码,补码的乘法运算
87 0
|
6月前
补码浮点数运算(设数的阶码为3位,尾数为6位(均不包括符号位)按机械补码浮点运算规则完成下列[x+y]补运算。)
补码浮点数运算(设数的阶码为3位,尾数为6位(均不包括符号位)按机械补码浮点运算规则完成下列[x+y]补运算。)
336 0
|
机器学习/深度学习 存储
数据的表示:原码、反码、补码、移码以及浮点数的运算
数据的表示:原码、反码、补码、移码以及浮点数的运算
471 0
数据的表示:原码、反码、补码、移码以及浮点数的运算
单目操作符(含原码反码补码转换)
单目操作符(含原码反码补码转换)
原码、反码、补码的互换
计算机中国的有符号数(整数)有三种表达方式,即原码、反码、补码。
二进制浮点数的加减法运算
二进制浮点数的加减法运算
二进制数的补码及运算(2)
二进制数的补码及运算(2)
253 0
二进制数的补码及运算(2)