| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 标准C语言5 -> 正文阅读 |
|
[C++知识库]标准C语言5 |
十六、进制转换 ? ? 为什么是二进制,八进制,十进制,十六进制: ? ? ? ? 因为现在的CPU只能识别高低电平,只能对二进制的数据进行计算 ? ? ? ? 虽然二进制的数据可以直接被CPU识别计算,但是不方便书写,记录。 ? ? ? ? 把二进制数据转换成八进制是为了方便记录到文档中 ? ? ? ? 由于CPU的位数的不断发展,由8位发展到了现在的64位,因此,八进制就不能满足需求了 ? ? ? ? 所以发展了十六进制,但是由于历史原因八进制还不能完全淘汰 ? ? 十进制转化为二进制 ? ? ? ? 求余法: ? ? ? ? ? ? 用2对数据求余,然后对商求余,直到商为0; ? ? ? ? ? ? 该过程中产生的余数就是该数据的二进制(逆序)。 ? ? ? ? 求权法: ? ? ? ? ? ? 数据 - 2^(n-1) ? ? ? ? ? ? 137 ? ? ? ? ? ? ? ? 1 2 4 8 16 32 64 128 ? ? ? ? ? ? 1 0 0 1 ?0 ?0 ?0 ?1 ? ? ? ? ? ? ? 二进制转十进制:(其他进制类似) ? ? ? ? 每位的2^(n-1)求和 ? ? ? ? 二进制转八进制: ? ? ? ? 从低位开始,每三位二进制对应一位八进制 ? ? 二进制转十六进制: ? ? ? ? ?从低位开始,每四位二进制对应一位八进制 ? ? ? ? 程序中怎么表示? ? ? 0x ? ? ?十六进制 ? ?%x ? ? ?%#x(可以打印0x) ? ? 0 ? ? ? 八进制 ? ? ?%o ? ? ?%#x(可以打印0) ? ? ASCII码 ? ? 65 ? ? ?'A' ? ? 97 ? ? ?'a' ? ? 48 ? ? ?'0' 十七、原码、反码、补码 ? ? ? ? 原码:数据的二进制; ? ? ? ? 反码: ? ? ? ? ? ? 正数的反码就是原码 ? ? ? ? ? ? 负数的反码,符号位不变,其他按位取反 ? ? ? ? 补码: ? ? ? ? ? ? 正数补码就是原码 ? ? ? ? ? ? 负数补码是反码+1 ? ? 注意:内存中所有的数据存储都是以补码存储的 ? ? 补码转数据: ? ? ? ? 1.无符号的 ? ? ? ? ? ? 直接转十进制 ? ? ? ? 2.有符号的 ? ? ? ? ? ? 最高位是0:正数,直接转十进制 ? ? ? ? ? ? 最高位是1:负数,1.补码-1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.符号位不变,其他按位取反得到原码 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.原码转换为十进制数据 十八、函数 ? ? 一段具有某项功能的代码,是C语言中管理代码的最小单位; ? ? 把代码封装成一个个函数,可以方便管理和调用代码 ? ? 函数的分类 ? ? ? ? 标准库函数: ? ? ? ? ? ? 由C语言标准委员会为C语言以函数的形式提供的一些基础函数 ? ? ? ? ? ? 被封装在libc.so库中,使用是需要对应的头文件, ? ? ? ? ? ? 通过 ?函数名(实参)的方式即可调用标准库中的函数 ? ? ? ? ? ? ? ? ? ? ? ? ? #include <time.h> ? ? ? ? ? ? time_t time( time_t *time ); ? ? ? ? ? ? 功能:返回1970-1-1 0:0:0 到函数执行时的总共过了多少秒 ? ? ? ? ? ? time_t sec = time(NULL); ? ? ? ? ? ? ? ? ? ? ? ? #include <stdlib.h> ? ? ? ? ? ? int system( const char *command ); ? ? ? ? ? ? 功能:执行系统文件 ? ? ? ? ? ? system("clear"); ? ? ? ? ? ? #include <stdlib.h> ? ? ? ? ? ? int rand( void ); ? ? ? ? ? ? 功能:返回一随机数 ? ? ? ? ? ? int num = rand(); ? ? ? ? ? ? #include <stdlib.h> ? ? ? ? ? ? void srand( unsigned seed ); ? ? ? ? ? ? 功能: 设置rand()随机序列种子。对于给定的种子seed, ? ? ? ? ? ? rand()会反复产生特定的随机序列 ? ? ? ? ? ? srand(time(NULL)); ? ? ? ? 系统函数: ? ? ? ? ? ? 是操作系统以函数接口形式提供的一系列功能, ? ? ? ? ? ? 但是它不是真正意义上的函数 ? ? ? ? ? ? 内存管理、文件管理、文件IO、信号处理、进程管理、进程通信 ? ? ? ? ? ? 线程通信、线程管理、线程同步、网络通信 ? ? ? ? 第三方函数: ? ? ? ? ? ? 由第三方提供的开源或者收费的代码库 ? ? ? ? ? ? MD5 ? ? 加密算法 ? ? ? ? ? ? Json ? ?序列化、反序列化 ? ? ? ? ? ? Xml ? ? 配置文件解析
? ? ? ? 自定义函数: ? ? ? ? ? ? 为了更好的管理自己的代码,减少代码冗余,封装成函数 ? ? ? ? ? ? 函数声明:(定义在调用之前可以省略) ? ? ? ? ? ? ? ? 函数声明的目的是为了告诉其他代码该函数的调用格式 ? ? ? ? ? ? ? ? 返回值类型 函数名(类型1 形参名1,....); ? ? ? ? ? ? ? ? 注意:1.函数名一般全部小写,下划线分隔 ? ? ? ? ? ? ? ? ? ? ? 2.如果不需要返回值(void) ? ? ? ? ? ? ? ? ? ? ? 3.如果不需要形参,(void) ? ? ? ? ? ? ? ? ? ? ? 4.就算形参类型相同,但每个都要加类型名 ? ? ? ? ? ? ? ? 隐式声明: ? ? ? ? ? ? ? ? ? ? 在调用函数时,前面没有出现过该函数的声明,就会产生隐式声明的警告 ? ? ? ? ? ? ? ? ? ? 参数会根据实参来猜测,返回值会猜测为int类型 ? ? ? ? ? ? ? ? ? ? 最好不要产生隐式声明。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 函数定义: ? ? ? ? ? ? ? ? 函数的实现代码 ? ? ? ? ? ? ? ? 返回值类型 函数名(类型1 形参名1,....) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? 实现代码; ? ? ? ? ? ? ? ? ? ? return 返回值; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? 函数调用: ? ? ? ? ? ? ? ? 函数名(实参); ? ? ? ? ? ? 注意: ? ? ? ? ? ? ? ? 1.在函数调用之前有函数定义,则函数声明可以省略 ? ? ? ? ? ? ? ? 2.函数的返回值在调用位置,可以立即显示,也可以用变量记录 ? ? ? ? ? ? ? ? 3.建议不超过50行代码
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 9:04:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |