当前位置:网站首页>学习C语言第8天
学习C语言第8天
2022-07-17 05:04:00 【ruin987】
二进制文件
所以的文件最终都是二进制的
文本和二进制
文本的优势是方便人类读写.而且跨平台
文本的缺点是程序输入输出要经过格式化,开销大
二进制的缺点是人类读写困难,而且不跨平台
int的大小不一致.大小端的问题...
二进制的优点是程序读写快
在文件中定位
long ftell(FILE*stream);
int fseek(FILE*stream,long offset,int whence);
SEEK_SET : 从头开始
SEEK_CUR : 从当前位置开始
SEEK_END : 从尾开始 (倒过来)
按位运算
C语言的按位运算的运算符:
| & | 按位的与 |
| | | 按位的或 |
| ~ | 按位取反 |
| ^ | 按位的异或 |
| << | 左移 |
| >> | 右移 |
按位与&
如果 (x)i ==1 并且 (y)i ==1,那么 ( x & y)i = 1
否则的话(x & y) i= 0
按位与常用于两种应用:
让某一位或某些位为0: x & 0xFE
取一个数中的一段:x & 0xFF
按位或|
如果(x)i == 1 或(y)i == 1,那么 (x | y)i = 1
否则的话, (x | y)i == 0
按位或常用于两种应用:
使得一位或几位为1: x | 0x01
把两个数拼起来: 0x00FF | 0xFF00
按位取反~
(~x)i = 1 - (x)i
把1位变为0,0位变1
想得到全部位为1的数: ~0
7的二进制是0111, x|7使得低3位为1
x& ~7,就使得低3位为0
按位异或^
如果(x)i ==(y)i, 那么(x^y)i = 0
否则的话, (x ^ y)i == 1
如果两个位相等,那么结果为 0; 不相等,结果为 1
如果x和y相等,那么x^y的结果为0
对一个变量用同一个值异或两次, 等于什么也没做
x ^ y ^ y---> x
左移
i<<j
i 中所有的位向左移动 j 个位置, 而右边填入0
所有小于 int 的类型, 移位以int的方式来做,结果是 int
x<<=1 等价于 x *=2
x<<=n 等价于 x *=2^n
右移
i >> j
i 中所有的位向右移 j 位
所有小于int的类型,移位以int的方式来做,结果是int
对于unsigned的类型, 左边填入0
对于signed的类型, 左边填入原来的最高位 ( 保持符号不变 )
x>>=1 等价于 x /= 2
x>>=n 等价于 x/=2^n
逻辑运算与按位运算
对于逻辑运算,他只看到两个值: 0和1
可以认为逻辑运算相当于把所有非0值都变成1,然后做按位运算
5 & 4 --->4 而 5&&4---->1&1---->1
5 | 4--->5 而 5 || 4---->1 | 1--->1
~4--->3 而 !4--->!1---->0
位段
可以直接用位段的成员名称来访问
比移位.与 或还方便
编译器会安排其中的位的排列, 不具有可移植性
当所需的位超过以int 时会采用多个int
边栏推荐
- Cve-2022-23131 ZABBIX SAML SSO authentication bypass vulnerability
- . SH scripting
- PyGame aircraft War 1.0 (step + window no response problem)
- 数据分析与数据挖掘实战案例本地房价预测(716):
- 畢設:基於Vue+Socket+Redis的分布式高並發防疫健康管理系統
- 基于SSM框架的考勤签到请假系统
- Attendance check-in and leave system based on SSM framework
- Bank link No. cnasp & Query (II)
- Es document operation
- 一文带你了解HAProxy
猜你喜欢
![Database training 7 [index and creation of data integrity constraints]](/img/7d/2855d945c0d7ffb970634451b600a1.png)
Database training 7 [index and creation of data integrity constraints]

3.RestClient查询文档

浅聊链路追踪

About the current response, the method getoutputstream() has been called

MySQL takes the union of two query conditions and then queries

NVIDIA GeForce Experience登录报错:验证程序加载失败,请检查您的浏览器设置,例如广告拦截程序(解决办法)

Actual cases of data analysis and data mining local house price prediction (716):

es的一些概念

Harmonyos second training notes

TopicExchange交换机简单使用。
随机推荐
02 Bar _ Recommandation de film (basée sur le contenu) Portrait de l'utilisateur
用户登录-以及创建验短信证码
【p5.js】模拟烟花效果-交互媒体设计作业
ModerlArts第一次培训笔记
一文带你了解HAProxy
关于当前响应已经调用了方法getOutputStream()
日志加入数据库实现思路
Flask的使用
基于SSM框架的考勤签到请假系统
.sh脚本编写
【Batch】批量删除中间文件夹-个人研究脚本
es的一些概念
String字符串根据符号进行特殊截取处理
Microservice high concurrency service governance
Learn about scheduled tasks in one article
【C】张梁计算器
Wechat docking mechanism memo
Fanoutexchange switch is simple to use
User login - and create SMS verification code
HarmonyOS第四次培训笔记