函数的概念

进制转换*

	例:十进制转换二进制:
  1. 求余法

    商为0结束
    n%2=0|1
    商%2=0|1
    直到商为0
    如:127%2 1  得到:0111111
    	   63%2 1
    	   31%2 1
    	   15%2 1
    	   7%2 1
    	   3%2 1
    	   1%2 1
    	   0
    
  2. 求权法

    1 2 4 8 16 32 64 126
    1001111 
    111111
    1111001
    110001
    

    二进制转换成8或16进制是为了方便记录
    二进制转八进制
    三个二进制对应三位八进制:
    short 10101100 10101100
    1 010 110 010 101 100
    二进制转换十六进制
    short 1010110010101100
    A C A C
    在C代码中以0开头的是八进制数以0x开头的十六进制
    %x 以十六进制形式显示数据(是整数)
    %o 以八进制显示数据

原码、反码、补码

原码:数据绝对值的二进制
反码:原码按位求反	

补码:数据在内存存储的二进制
整数的原码就是补码
负数的补码:绝对值->原码->按位求反->反码->+1->补码
反码+1得到补码
补码转换成数据
无符号补码之间转换成十进制
最高位是0,说明是正数,也直接转换成十进制
有符号且最高位是1:
1 补码-1得到反码
2 反码按位求反得到原码
3 原码转换成10进制
11111111 补码有符号
11111110 反码
00000001 反码
-1

00000000-1之后变成11111111
计算机中的数据都是有类型的(存储空间是固定的,最大值+1变最小值)

位运算符:
A & B 针对补码的按位相与
01011010 0x5A
11000011 0xC3
-------------
01000010 0x42
A | B 按位或
01011010 0x5A
11000011 0xC3
-------------
11011011 0xdb
~A 按位求反
01011010 0x5A
10100101 0xA5
-------------
A ^ B 相同是0不同是1
01011010 0x5A
11000011 0xC3
-------------
10011001 0x99
A << n 把A的补码左移n位,左边的丢弃 右边的补0
确定类型 char int 存的字节不同
A >> n 把A的补码右移n位,左边补符号位 右边丢弃
确定符号位置

函数

一段具有某段功能的代码,是C语言中管理代码的单位
把代码封装成一个个函数,为的是方便管理,方便调用

函数分类:
标准库函数:
C语言标准委员会为C语言以函数形式提供的一些基础功能,封装在lib.c
库中,使用时需要包含头文件,函数名(参数)
如 int isalnum()判断是不是数字字母
int isalpha()当C是字母时返回真
double sqrt(double x)返回X的平方根
double pow(double x,double y);返回X的y次方
doulbe floor(double arg)直接去掉(显示的时候去掉会四舍五入)
void srand(unsigned seed)获取随机种子
srand(time(null))(短时间内重读运行会一样)

系统函数:
是操作系统以函数接口形式提供的功能,这些功能包括
内存管理、信号处理、文件IO、文件管理、进程管理、进程通信、线程管理、
线程同步、网络通信

第三方库函数:
一些开源或者收费的第三方代码
glog 日志记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值