C位级运算基础

简介: 无符号数有符号数,有符号数的最常见的表示方法之一就算补码补码的 最高有效位是符号位 正数的补码是本身,负数的补码是本身值每位求反最后加1二进制的&与(都为真时为真) |或 (一个为真时为真)^异或(有一个为真,但两个不相同时为真) ~取反(真时假,假时真)-3 的16 进制  首先原码...

无符号数

有符号数,有符号数的最常见的表示方法之一就算补码

补码的 最高有效位是符号位 

正数的补码是本身,负数的补码是本身值每位求反最后加1

二进制的&与(都为真时为真) |或 (一个为真时为真)^异或(有一个为真,但两个不相同时为真) ~取反(真时假,假时真)


-3 的16 进制  首先原码为0011,假如是正数补码等于原码, 负数的求补码,首先计算|-3|的原码,然后再计算反码(就是按二进制位取反),再在反码的基础上加1

 

正数补码 是本身 ,负数补码是绝对值按位取反码再加1;豁然明朗,

再次总结下  无符号表示,有符号表示(一般最通常用的是补码,或是反码)


w位无符号 取值范围0 ~ 2(w - 1)    1111  8 4 2 1 = 15    2(w) - 1

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 192 + 56 + 7 = 192 + 63 = 255 = 2(8) - 1 = 16 * 16 = 256 - 1 = 255 


w位 无符号取值范围 2(w) - 1 


w位 有符号取值范围-2(w - 1) ~ 2(w -1) - 1

w = 8

-2(8-1) ~ 2(8-1) - 1 = -2(7) ~ 2(7) - 1  = -128 ~ (128 - 1) = 128 ~ 127


补码,反码 

有符号才反码、补码,反码 + 1 = 补码

有符号的 补码是先通过绝对值的原码 取反再 加 1

再加深下对二进制移位规则的回顾,左移x << k 丢弃最高的k个有效位,在右侧尾部补充k个0

右移x >> k 逻辑移时 在左侧补k个0

算符移位时在左侧补k个移位数的最高有效位.



目录
相关文章
|
6月前
|
存储 Shell Python
零基础学会Python编程——不同的运算:算术、关系与逻辑(1)
零基础学会Python编程——不同的运算:算术、关系与逻辑(1)
101 0
|
存储 数据处理
计算机数据的表示及运算
计算机数据的表示和运算是计算机系统中非常重要的概念。计算机使用二进制来表示和处理数据,其中包括整数、浮点数和字符等不同类型的数据。下面将详细介绍计算机数据的表示和运算。 1. 二进制表示:计算机使用二进制系统来表示数据。二进制系统由0和1两个数字组成,每一位称为一个比特(bit)。比特是计算机中最小的存储单位,可以表示一个二进制数值(0或1)。 2. 整数表示:计算机使用补码表示整数。补码是一种用于表示负数的方法,它将负数的最高位设为1,正数的最高位设为0。补码表示可以保证负数的运算结果仍然是有效的。 3. 浮点数表示:计算机使用浮点数表示实数。浮点数由两个部分组成:尾数和指数。尾数表示
177 0
|
17天前
|
存储 编译器
二进制相关概念、运算与应用
本文详细介绍了二进制、原码、反码和补码的概念及其应用,包括8位二进制的表示范围和常见位运算符的使用方法。通过具体示例,解释了位运算在数值翻倍、字符大小写转换和IP地址生成中的巧妙运用。此外,还提供了进制间转换的方法和Java-API中的支持。本文旨在帮助读者深入理解位运算的基础和实际应用。
35 1
二进制相关概念、运算与应用
|
6月前
|
机器学习/深度学习 存储 算法
位运算是一种什么运算方式
位运算是一种什么运算方式
46 1
|
存储 算法 数据处理
数据的表示及运算
一、数据的表示及运算 数据的表示和运算是计算机系统中非常重要的概念,它们决定了计算机如何处理和操作数据。 1. 数据的表示:计算机使用二进制(0和1)来表示和存储数据。二进制是一种只有两个状态的编码方式,可以通过开关电路的开和关来表示0和1。计算机将二进制编码与不同的数据类型关联,例如整数、浮点数、字符等。 2. 整数运算:计算机可以对整数进行基本的算术运算,包括加法、减法、乘法和除法。这些运算是通过电子电路中的逻辑门实现的,逻辑门可以对二进制数进行逻辑运算和移位操作。 3. 浮点数运算:计算机可以进行浮点数的运算,浮点数是一种用于表示带有小数部分的数值的数据类型。浮点数运算涉及到浮点数的表示
79 0
|
人工智能 测试技术
MoonLight的运算问题
MoonLight的运算问题
96 0
|
6月前
|
算法
你知道几种乘法的计算方式?
你知道几种乘法的计算方式?
119 0
|
PHP 开发者
比较运算| 学习笔记
快速学习比较运算。
比较运算| 学习笔记
|
开发者
自操作运算| 学习笔记
快速学习自操作运算。
|
NoSQL MongoDB 数据库
范围运算|学习笔记
快速学习范围运算