1.编程中默认十进制形式
输出十进制:%d , %i
表示二进制:需要在数字前面加上0b C语言中没有以二进制形式输出的占位符
表示八进制:需要在数字前面加0 C语言中以%o表示八进制的输出
2.进制转换
例如:二进制转换成十进制数
从低位数开始,用低位数乘以2的多少次幂,幂数从0开始,然后再相加
例如:二进制转八进制
三个二进制位代表一个八进制位,只需要将3个二进制位转换为十进制,之后再将所有的结果连起来
例如:二进制转十六进制
四个二进制代表一个十六进制位,只需要将4个二进制位转换为10进制,之后再将所有的结果连接起来
3.左移
左移就是用左移的数乘以2的移动次幂『左移运算,被移动的数的最高位会被抛弃(移除),所以在左移运算中有可能会改变一个数的正负』
右移就是右移的数除以2的移动次幂『负数的左移右移是补码在移动,因为负数都是以补码的形式存储在内存中的』
/*应用场景:让某一个数乘以2的n次幂,或者除以2的n次幂,最高效的运算方式就是左移右移*/
4.亦或的举例
a = a^b;
b= a^b; (b=a^b^b =a)
a= a^b; (a= a^a^b=b)
一个数亦或两次同一个数,结果还等于原来的数
5.输出地址
:%p ,&变量名称 用来取出此变量的地址 如:printf(“num=%p\n”,&num); 即为取出num变量的地址
6.char类型的取值范围-128~127
7.利用空间换时间的一种简单排序算法
8.选择排序
拿到其中一个元素的值依次和其他元素进行比较,完全比较完一次之后,最值出现在第0位
9.冒泡排序
是用相邻的两个元素进行比较,每完全比较一次,最值出现在末尾