自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 二进制位置中置0或者1

2024-09-04 19:44:34 232

原创 位操作符&、|、^、~

c语言基础语法

2024-09-04 19:27:52 74

原创 移位操作符<<和>>

(1.逻辑右移:左边用0补充,右边丢弃。2.算数右移:左边用原该值的符号位填充,右边丢弃):以为操作符操作数只能是整数。

2024-09-04 19:25:09 303

原创 判断一个数是不是2的次方数

就可以让n的二进制位中少一个1。列如二进制数1010,1010-1=1001,1001&1010==1000,就会少最右边的一个1。要判断二进制中有且只有一个1,就可以用到按位与(&),其余都是0,所以要判断一个数是不是2的次方数,1,2,4,8,16....等都是2的次方数。就只需要判断他的二进制数中有且只有一个1。第一位,第二位,第三位.....为1,

2024-09-04 17:11:07 219

原创 基础扫雷游戏的实现

2024-09-03 16:19:00 547

原创 原码、反码、补码

使用补码,可以将符号位和数值位统一处理,同时,加法和减法也可以同时处理(CPU只有加法),还有,原码与补码的相互转换的运算过程也是相同的,不需要额外的硬件。而补码想得到原码可以直接同样先取反后加1,跟原码得到补码的步骤是一样的,或者先减1,得到反码,再取反得到原码。而反码就是原码符号位不变,其他位按位取反。原码就是符号位加对应的二进制位。数据的储存都是补码,这是为什么呢?整数的二进制表示方法有两种,即。所组成,0表示正数,1表示负数。正整数的原码、反码、补码都相同。,无符号位也相当于正整数。

2024-09-02 22:35:27 215

原创 2进制转8进制和16进制

8进制中的每一位都是由0~7的数字组成,0~7的数字用三个二进制位表示就刚好足够,正好对应着0~7,那么从二进制的右边地位开始向左,每三个数转换成一个8进制数就可以了,最左边不够三位的直接转换就行了。16进制中,数字为0~9和字母a~f共同组成,即0~15,同样与4个二进制数列相对应,所以,按照相同的原理从右到左,4个二进制数列转换成一个16进制数列,最左边不够4为也是直接转换就行了。以0x开头的数字就表示16进制。以0开头的数字就是8进制。

2024-09-02 22:18:24 292

原创 c语言分支与循环详解

2.3每一个case后面语句执行完之后都要加一个break,否则会继续向下执行,除非同时执行多个。表达式成立的时候语句执行,每一次执行完,返回判断表达式是否成立,成立则继续执行,不成立则退出。1.4 嵌套if,在if...else...语句中else可以与另一个if语句连用。1.3 if和else语句都默认只控制一条语句,若要控制多条语句要用{}括起来。2.2(表达式)中必须是整形表达式,case后面必须是整形常量表达式。表达式成立则执行语句1,不成立则执行。表达式2用于循环变量结束条件的判断;

2024-08-31 18:57:14 349

原创 计算某年某月有多少天

printf("你好,%d年%d月有%d天\n", year, month, day);int get_day_of_month(int year, int month)//计算天数。bool is_leap_year(int year)//判断是否是闰年。//某年某月有多少天。

2024-08-30 23:27:09 208

原创 二分查找效率提高的思路是什么

二分查找比如进行了n次,最后找到一个元素,从后往前,1乘以2就是上次二分查找所剩下的元素,以此类推,进行了n次,就是总共有2的n次个元素,总元素为m个,要是一个一个查找,则最多为m次,也就是2的n次等于m,效率也就变为了log以2为底m的对数。//这里不用(left+right)/2,防止left+right溢出

2024-08-30 11:04:29 515

原创 从一个字符串的两边同时复制一个字符串

将一个字符串复制给另一个字符串,从两边同时复制。

2024-08-30 09:52:32 275

原创 猜数字游戏

/生成1-100的随机数。printf("输入错误,请重新输入\n");printf("恭喜你,猜对了\n");printf("退出游戏\n");printf("猜大了\n");printf("猜小了\n");printf("请猜一个数字\n");printf("请输入\n");void print(void)//打印菜单。生成一个1~100的随机数,猜它的大小。

2024-08-29 17:00:31 473

原创 大小端储存及判断

/大端储存模式:是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;//小端储存模式:是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中;printf("小端\n");printf("大端\n");//大端 00 00 00 14。//小端 14 00 00 00。

2024-08-10 16:19:22 525

原创 char 类型的有符号数和无符号数

2024-08-10 16:16:20 262

原创 const放在指针变量*的左边和右边的区别

列如int* p=&num,放在*左边修饰*p,不能改变*p里面的值,放在*右边修饰p本身,不能改变p里面储存的地址。//const放在指针变量的*左边,修饰的是*p,不能通过p来改变*p(num)的值。//const放在指针变量的* 右边,修饰的是指针变量p本身,p不能被改变了。

2024-08-09 21:08:43 280

原创 统计一个整数二进制中1的个数

/方法一,要将n转变为无符号数,否则负数不适合。

2024-08-08 20:01:05 219

原创 不使用临时变量交换两个整形的值

/所以y=x^y=00000000000000000000000000000011=3。//同理x=x^y=00000000000000000000000000000101=5。//问题:int类型的值只有四个字节,在进行加减法的时候,会出现溢出的问题。// 对于x,y中不相同的进制数,y中若1或0,与1异或都为相反的数值。//对于x,y中相同的进制数,y中若为0或1,与0异或都为y的值。//异或^就是对两个数的二进制,相同为0,相异为1。//列如x=3,y=5。//相异为1相同为0。

2024-08-07 12:55:35 849

原创 sizeof()的比较

sizeof()的值为一个无符号数,当一个有符号数与它比较的时候,会将有符号数,变为无符号数,即有符号数首位变为0。//全局变量不初始化,默认为0。

2024-08-07 11:59:18 296

原创 青蛙跳台问题

n阶台阶,青蛙一次可以跳一阶或者二阶,共多少种跳法。

2024-08-02 19:48:59 201

原创 用递归按顺序打印一个整数的每一位

2024-08-02 12:21:07 244

原创 printf函数返回打印的字符个数

列如此段代码在屏幕上将会输出4321,先打印43,然后43为两个字符,打印2,2为一个字符,打印1。

2024-08-01 21:10:44 147

原创 二分查找有序数组

利用二分查找法在一个有序数组中查找一个数字。

2024-08-01 20:17:57 531

原创 函数交换两个数的值

函数在传参的时候传递的是两个数的值,函数会自己再开辟空间进行存储,所以要改变原来参数的值,就要传地址。

2024-08-01 18:09:45 423

原创 【无标题】学习c语言第一天

我是一名大一的学生,希望通过学习找到一个好工作,通过网上课程和老师讲授进行学习,打算每周花费14个小时,我最想进入字节跳动。

2024-07-31 20:07:08 444

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除