
C
文章平均质量分 53
Jennifer_Yan
程序媛
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
位段与大端模式、小端模式
在嵌入式变成中,经常会涉及到数据存放问题。 简单说下, 大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高原创 2014-03-15 21:22:57 · 1073 阅读 · 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 · 2718 阅读 · 0 评论 -
c笔试面试 之 不用加法操作(用逻辑运算)实现两个正整数的除法
本题思想:原创 2014-03-20 21:57:51 · 1185 阅读 · 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 · 2217 阅读 · 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 · 1176 阅读 · 0 评论