C
文章平均质量分 53
Jennifer_Yan
程序媛
展开
-
位段与大端模式、小端模式
在嵌入式变成中,经常会涉及到数据存放问题。简单说下,大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高原创 2014-03-15 21:22:57 · 1015 阅读 · 0 评论 -
c笔试面试 之 不用除法操作实现两个正整数的除法
正整数X,Y来表示本题有两种解法:①用减法实现:大致思想是,while(X >Y){count++;X = X - Y;}②移动操作位运算知识:一、常用等式 -n = ~n+1 = ~(n-1)二、获取整数n的二进制最后1个‘1’:n&(-n) = n&~(n-1) 获取整数n的二进制最后1个‘1’:n&(n-1)原创 2014-03-19 20:58:15 · 2613 阅读 · 0 评论 -
c笔试面试 之 不用加法操作(用逻辑运算)实现两个正整数的除法
本题思想:原创 2014-03-20 21:57:51 · 1130 阅读 · 0 评论 -
c笔试面试 之 不用乘法操作(用逻辑运算)实现两个正整数的除法
看到乘法,我们首先想到的就应该是移位操作。分析一下:例如 十进制的11*10=110二进制:1011 *1010 拆分下,为1011*1000 +1011*0010对于二进制运算,左移1位,等于乘以 0010;左移3位,等于乘以 1000所以,二者的乘积为:1011具体的代码实现,我们可以用bit_map(bit_map:用一个bit位来标记对应的value)原创 2014-03-24 21:20:47 · 2153 阅读 · 0 评论 -
编程之美 N个正整数的数组 寻找丢失的数 和 寻找唯一重复的数
①n-1个整数,并未排序,元素师1~n中不同整数 如何寻找序列中缺少的整数?请写一个线性的算法。 思想:首先,求得所有元素的和SUM,T=O(n)再计算N个数的和为n(n+1)/2所以缺少的整数为: n(n+1)/2 -SUM ②n+1个整数,并未排序,元素师1~n中不同整数 如何寻找序列中唯一重复的数?解法一:类似于上面的求和解法,SUM - n(n+1)原创 2014-03-27 11:03:37 · 1126 阅读 · 0 评论