例:修改字符串的第三个字母为a 运行,VS报下列错误: 出现这个问题的原因是,C语言规定:如果要释放内存,必须拿到内存的首地址进行释放 而p指针在释放之前,进行了移位操作,不再指向首地址,因此程序发生crash。解决办法:只需要保存首元素的地址用来释放即可。 运行结果: ...
分类:
编程语言 时间:
2017-04-25 21:22:49
阅读次数:
164
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路:移位操作:一个整数不为0,至少有一位是1。把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。也就是说,把一个整数减去1,再和原 ...
分类:
其他好文 时间:
2017-04-08 14:49:32
阅读次数:
153
Divide two integers without using multiplication, division and mod operator. If it is overflow, return MAX_INT. 题目要求不能使用除号、乘号和取余操作符。 我们使用移位操作符。<< 左移代表 ...
分类:
其他好文 时间:
2017-03-21 22:02:35
阅读次数:
174
/** 去除字符串左边的空格 */ #include int main(void){ char s[100]=" hello world"; int len =0 ; while(s[len++] == ' '); len--;//得到字符串左边空格数量 int i=len; while(s[i])... ...
分类:
其他好文 时间:
2017-02-21 13:26:51
阅读次数:
145
11、乘法和除法使用移位操作例如:for(val=0;val<100000;val+=5)
{
a=val*8;
b=val/2;
}用移位操作可以极大地提高性能,因为在计算机底层,对位的操作是最方便、最快的,因此建议修改为:for(val=0;val<100000;val+=5)
{
a=val<<3;
b=val>>1;
}移位操作虽然..
分类:
编程语言 时间:
2016-11-26 00:18:47
阅读次数:
229
Java基础(建议看java编程规范): Java语言基础:数据类型,命名规则,权限控制符,注释 操作符:算术操作符,逻辑操作符,关系操作符,移位操作符,按位操作符 流程控制 数组 字符串 Java高级: 面向对象: 类和对象 类属性 类方法 三大特征(封装,继承,多态) Java api: jav ...
分类:
编程语言 时间:
2016-11-22 23:35:22
阅读次数:
281
1.1常量: 基本数据类型常量 字符常量 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 生活中:十进制(0-9) ,星期(七进制(0-6)) ,时间(十二进制(0-11),二十四进制(0-23)) 计算机是通过二进制来读取我们生活中的数据。 进制之间的转换: 十进制转为 ...
分类:
编程语言 时间:
2016-11-14 20:47:33
阅读次数:
247
1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。 1.2 常见的关键字 备注:不必死记硬背,如果使用关键字作为标识符,编译器能提示错误。 goto 是java的保留关键字,意思 ...
分类:
编程语言 时间:
2016-11-14 20:43:07
阅读次数:
270
1.1算数运算符:+,-,*,/,% 1.2自增自减 :++ ,-- 1.3赋值运算符 : = ,+=,-=,*=,/= 1.4关系运算符 : >,<,>=,<=,== ,!= 逻辑运算符: & ,| ,! ,&& ,|| 位运算符: 它是对二进制位进行计算。 位运算符是可以对十进制的整数进行计算, ...
分类:
其他好文 时间:
2016-11-14 20:29:17
阅读次数:
225