C语言 | 【耗费一夜总结三本C语言系列】之 位及进制的用法

本文深入探讨了C语言中的位操作,包括进制转换、按位逻辑运算符(如按位与、或、异或)以及位移运算(左移和右移)。此外,还介绍了位的常见用途,如掩码、设置和清除位以及切换位。通过这些概念,读者可以更好地理解和控制C语言中的低级别内存操作。
摘要由CSDN通过智能技术生成

前言

本章内容概述了位以及进制的使用。

在这里插入图片描述


C语言 | 快速了解C的发展史🧡💛💚💙
C语言 | 【耗费一夜总结三本C语言系列】之 指针、数组 一文透彻~~~🧡💛💚💙
C语言 | 【耗费一夜总结三本C语言系列】之 结构体、联合、枚举🧡💛💚💙
C语言 | 【耗费一夜总结三本C语言系列】之 声明🧡💛💚💙
C语言 | 【耗费一夜总结三本C语言系列】之 作用域 在也不用担心分不清变量的作用域拉!!!🧡💛💚💙
C语言 | 【耗费一夜总结三本C语言系列】之 编译步骤 会用C还不知道C如何编译???🧡💛💚💙
C语言 | 【耗费一夜总结三本C语言系列】之 数据类型总结🧡💛💚💙
C语言 | 【耗费一夜总结三本C语言系列】之 位及进制的用法🧡💛💚💙
C语言 | 【耗费一夜总结三本C语言系列】之 预处理器🧡💛💚💙


参考补码、反码、原码

一、位

位的使用通常是向硬件设备发送字节来控制,每个位都有与之对应的含义;而C语言能够对位进行单独操控;

1.1 进制

进制转换内容可参考这篇文章,在前几个月整理的内容;

在C中采用字节来表示存储系统字符所需的大小;

  • 描述存储器芯片数据传输率中所用的字节指的是8位字节

请添加图片描述

1.2 C中的按位运算

C为开发者提供了按位逻辑运算符和位移运算符;

1.2.1 按位逻辑运算符

~取反运算符

该运算符用于反码或将位取反;

~(10010011)
=> (01101100)

&按位与运算符

为双目运算符,生成一个新的值;

  • 两个都为一结果才是1,否则为0;
(00111001) & (11001101)
=> 00001001

|按位或运算符

为双目运算符,生成一个新的值;

  • 至少有一个为1,则为1, 否则为0;
(00111001) & (11001101)
=> 11111101

^按位异或运算符

为双目运算符,生成一个新的值;

  • 按位两者一个则位0,不一样则为1;
(00111001) & (11001101)
=> 11111011
1.2.2 位的常见用法

掩码:&

设置开或关的位组合;

打开位:|

打开一个特定位,且保持其他位不受改变;

关闭(清空)位:& ~

不影响其他位的情况下关闭指定的位;

切换位:^

打开已关闭的位或关闭已打开的位;

1.2.3 位的位移

左移<<

将左侧的位向左移动指定位数,后用0进行填充;

(00111001) << 3;
=> 11001000

右移>>

将右侧的位向左移动指定位数,正数左补0,负数左补1;

(00111001) >> 3;
=> 00000111

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jxiepc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值