- 博客(5)
- 收藏
- 关注
原创 #define:1.交换一个整数二进制的奇数偶数位 2.模拟实现offsetof
//用宏交换一个整数二进制的奇数位和偶数位 //例如:5:0101--》10:1010; // 9:1001--》 6:0110; #define swap(N) ((N&(0x55555555))<<1)+((N&(0xaaaaaaaa))>>1) //按位与01010101.....010101得奇数位数字,右移1个位 //按位与10101010.....101010得偶数位数字,左移1个位 //两者相加,就完成交换 int main() { int.
2022-04-30 10:21:51 86
原创 模拟实现atoi字符串转整型
atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。
2022-04-28 13:02:04 62
原创 关于我用异或让数组里的2条单身狗现形这件事
1.什么是数组里的单身狗 假定有这么一个数组,数组里的整数都成双成对,却有两个数字是单身数。 例如:int arr[10]={1,2,3,4,5,1,2,3,4,6};中的5和6便是单身数,该怎么找到它们? 2.^异或是什么? 按位异或的概念是指,对两个整数的二进制进行比较,若对应位数相同则为0,相异则为1。 例如:3的二进制为000....0011,而5的二进制为000....0101;则3^5的二进制为000....0110,值为6。 3.为什么说异或可以揪出单身狗? 如果用成对的..
2022-04-03 16:14:13 256
原创 qsort函数大改造
qsort是<stdlib.h>库中快速排序算法的函数,其排序范围不单单为整形,也包括字符串,浮点型等数据。使用qsort需要传入数据地址,元素的个数及其宽度,和我们自定义的比较函数的地址。 冒泡排序通过两层循环,对数据进行两两比较并交换,但其只能排序整型。我们需要冒泡排序的循环比较逻辑,加上自定义的比较函数和交换函数,来改造出功能与qsort相似的my_sort函数。 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>//.
2022-03-26 10:33:22 568 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人