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

发布于:2022-12-14 ⋅ 阅读:(471) ⋅ 点赞:(0)

前言

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

在这里插入图片描述


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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到