原码 反码 补码|学习笔记

简介: 快速学习原码 反码 补码。

开发者学堂课程【GO 语言核心编程-基础语法、数组、切片、Map:原码 反码 补码】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/625/detail/9557


原码 反码 补码

 

内容简介:

一、位运算的思考题

二、二进制在运算中的说明

三、原码、反码、补码

 

一、位运算的思考题

1)请看下面的代码段,回答a,b,c,d结果是多少?

func main() }

var a int = 1 >> 2

var b int = -1 >> 2

var c int =1 << 2

var d int = -1 << 2

//a,b,c,d结果是多少 ?

fmt.Printin("a=" a)

fmt.Printin("b=”b)

fmt.Printin("c=",c)

fmt.Printin("d=”,d)2)

}

2)请回答在 Golang 中,下面的表达式运算的结果是:

func main() {

fmt.Printin(2&3)

fmt.Printin(2|3)

fmt.Printin(13&7)

fmt.Printin(5|4)

fmt.Printin(-3^3)

}

 

二、二进制在运算中的说明

二进制是逢2进位的进位制,0、1是基本算符。现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。

计算机内部处理的信息,都是采用二进制数来表示的。

二进制( Binary )数用0和1两个数字及其组合来表示任何数。进位规则是“逢2进1”,数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。在计算机的内部,运行各种运算时,都是以二进制的方式来运行。

 

三、原码、反码、补码

网上对原码反码补码的解释过于复杂,精简6句话:

对于有符号的而言:

1) 二进制的最高位是符号位:0表示正数1表示负数

1---》[0000 0001] -1===>[1000 0001]

2) 正数的原码,反码,补码都一样

3)负数的反码=它的原码符号位不变,其它位取反(0->11->0)

1===>原码[00000001]反码[00000001]补码[00000001]

-1===>原码[10000001]反码[11111110]补码[11111111]

4) 负数的补码=它的反码+15)

5) 0的反码,补码都是0

6)在计算机运算的时候,都是以补码的方式来运算的

1+1 1-1=1+(-1)

相关文章
|
7月前
|
存储 编译器 C语言
【原码、反码、补码】小白看完都呲大牙
【原码、反码、补码】小白看完都呲大牙
232 1
【原码、反码、补码】小白看完都呲大牙
|
6月前
|
程序员
程序员必知:原码、反码、补码和移码详解
程序员必知:原码、反码、补码和移码详解
105 0
|
7月前
原码反码补码移码的介绍和计算
原码反码补码移码的介绍和计算
179 1
|
7月前
|
存储
原码,反码,补码以及计算
原码,反码,补码以及计算
88 0
原码补码反码
原码补码反码
138 0
|
存储
[软考]之原码、反码、补码和移码
[软考]之原码、反码、补码和移码
129 0
【学习笔记之我要C】初识操作符和原码、反码、补码
【学习笔记之我要C】初识操作符和原码、反码、补码
74 0
|
Java
进制转换、原码、反码、补码及位运算详解
进制转换、原码、反码、补码及位运算的简单示例
683 1
进制转换、原码、反码、补码及位运算详解
|
存储
一篇轻松带你Carry原码、反码、补码(建议收藏)
一篇轻松带你Carry原码、反码、补码(建议收藏)
223 0
原码、反码、补码
原码、反码、补码区别
170 0