c/c++/vc
文章平均质量分 92
寻开心
不写代码10几年,重新学学Swift语言,活到老学到老!
展开
-
用数组实现大数的阶乘
用int来表示整数的阶乘到12!就是极限了,再大就要超出整数的范围了那么更大的数的阶乘怎么办, long long int是64位,但是也只能容纳20!的阶乘,更大的数必须另想办法直接上代码, 10000! 0.1s左右可得(i7的cpu哈)。这个时间也不包含输出部分, 具体的时间和硬件有关系基本原理就是用数组模拟寄存器乘法计算的原理#include <stdio.h...原创 2020-01-17 21:23:43 · 923 阅读 · 0 评论 -
c / c++ 中的未定义行为
c / c++ 编程当中会遇到一些未定义的行为这些行为多数和c/c++标准当中的定义不明确有关系第一种,操作数的执行顺序标准当中,只有四个操作数有过明确的执行顺序: 逻辑运算符&&和|| 从左到右,短路测试 ?:条件运算符 先执行?前面的表达式 逗号运算符,从左到右其他的运算符,都没有定义执行顺序,也就是说 v =...原创 2020-01-04 19:13:41 · 686 阅读 · 0 评论 -
非递归的全排列输出
对于任意给定的1~9, 给出所有的不出现重复数字的排列由于讨厌使用递归(代码好写,但是执行效率不高),也不想使用stl模板之类,于是用标准c++单独写了一个代码如下://// 本代码用于生成n的全排列,结果保存在permutation二维数组当中// 生成的原理:// 假定一个完成了n-1个数的不重复的排列,并放到permuatation数组当中的前(n-1)!行...原创 2019-01-03 12:33:16 · 697 阅读 · 1 评论 -
如何判断两个矩形相交
很久以前的一个网友提问的问题和回答 http://topic.csdn.net/t/20050726/09/4167897.html 假定矩形是用一对点表达的(minx,miny)(maxx, maxy) 那么两个矩形rect1{(minx1,miny1)(maxx1, maxy1)}, rect2{(minx2,miny2)(m原创 2008-07-18 11:44:00 · 2582 阅读 · 2 评论 -
颐家IDO-技术特点说明
颐家IDO 技术特点说明 1 三维虚拟展示, 虚拟现实技术, 以D3D为核心建立的显示平台 2 网络即时选材, 网络数据库管理装修产品, 在线选择,下载装修 3 即时通讯功能, 文字和文件的即时交互 4 互动设计功能, 三维场景的即时交互原创 2007-09-06 19:25:00 · 1235 阅读 · 0 评论 -
颐家IDO-在线互动设计软件推出啦!
经过多年的努力, 2007年9月5日, 颐家IDO-在线互动软件终于上线了IDO = Interactive Decoration Online 在线互动设计IDO = Instant Design Online 即时设计I do = 我做主颐家IDO = 美好家居,我做主!原创 2007-09-06 19:20:00 · 1625 阅读 · 1 评论 -
反射向量的计算
在计算机图形学应用过程当中, 无论是二维环境还是三维环境, 经常涉及到碰撞反弹的问题这个问题对应之际的数学问题就是反射向量的计算问题一个向量V, 在法向量为N的平面上产生的反射向量V的计算的问题这个向量有个简单的计算技巧, 效率非常的高利用反射原理和向量知识, (v, 和 -v关于法向量对称 )我们知道有: v- v = alpha * N/|N| a原创 2007-03-29 15:41:00 · 6282 阅读 · 1 评论 -
图像分区算法
在图像处理当中经常会遇到,把相近颜色的区域提取出来的问题如果是交互操作,指定图像上的一个点,找到该点对应的颜色区域的方法已经很成熟了——种子填充或者是扫描线填充等算法,这里就不赘述了。问题是,如何对于给定的一个图像,自动找到所有的独立的颜色区域呢,为了简化问题,可以假定这个图像是黑白二值的,如何找到这个图像上所有的黑色的连通区域,并且给每个区域一个独立的区号呢我们假定连通关系是8连通原创 2006-04-22 11:32:00 · 4397 阅读 · 0 评论 -
单向链表当中的环路判别问题
有一个单向链表,如何判定这个链表当中是否包含有环路,以及如何定位环路在链表当中的开始点呢?关于第一个问题,网络上可以搜索到,用两个指针来遍历这个单向链表,第一个指针p1,每次走一步;第二个指针p2,每次走两步; 当p2 指针追上 p1的时候,就表明链表当中有环路了。关于这个解法最形象的比喻就是在操场当中跑步,速度快的会把速度慢的扣圈可以证明,p2追赶上p1的时候,p1一定还没有走完一遍环路,p2原创 2005-12-21 16:49:00 · 5122 阅读 · 7 评论 -
如何计算两个空间向量之间的转角
在三维空间当中,经常涉及到计算两个向量之间的角度问题,而且这个角度是特定的方向角度也就是说,围绕他们的公共法向量旋转的角度假定这两个向量是a和b我们知道 c=a×b是一个向量,方向是按照右手坐标系生成的,垂直于ab所在平面的向量,c向量的模是|c|=|a|*|b|*sinCita同时,我们知道,向量a*b是一个数,它的大小是是 |a|*|b|*cosCita根据这两个表达式,我们似乎可以用 ta原创 2005-04-28 18:16:00 · 20814 阅读 · 13 评论 -
如何计算平面n个圆相交的公共部分的面积
原题参考 mmmcd 超超 在这个帖子当中的讨论http://community.csdn.net/Expert/topic/4075/4075074.xml?temp=.4154627N个任意圆相交求公共面积的问题必须注意到如下一:凸体和凸体相交依然是凸体,多元相交后也是凸体二:多元相交结果,必然是由圆弧所组成,三:最终的相交面积为各个子圆弧的弓形面积 + 内部凸多边形的面积要解决这个问题,要解原创 2005-06-21 16:21:00 · 5909 阅读 · 1 评论 -
浮点数的内存结构
根据IEEE的标准,浮点数的定义如下符号位指数位小数部分指数偏移量单精度浮点数1 位[31]8位 [30-23]23位 [22-00]127双精度浮点数1 位[63]11 位[62-52]52 位[51-00]1023我们以单精度浮点数来说明:符号位,表述浮点数的正或者负指数实际也有正负的,但是没有单独的符号位,而是采用了一个偏移来表示在计算机的世界里,进位都是二进制的,指数表示的也是2的N次幂这原创 2005-02-02 11:41:00 · 3718 阅读 · 3 评论 -
浮点数的压缩算法
参考IEEE的浮点数格式说明对于0到1范围内的浮点数是可以压缩的显然在0到1的范围内,一个单精度的浮点数,指数和符号位占据9个bit而这9个bit是可以不用的,把它去除,只保留小数部分的23bit就可以达到压缩的目的可以把一个浮点数从32bit,4字节压缩到23bit,3字节的范围内这也是在3dmax等一些工具软件当中对浮点数进行压缩存储的方法。比如,在单位化的法向量当中,每个浮点数都是0,1范围原创 2005-02-02 11:47:00 · 9160 阅读 · 0 评论 -
浮点数的比较
在数学运算当中经常会涉及到判断两个数是否相等的情况对于整数很好处理 A==B这样的一个语句就可以解决全部的问题但是对于浮点数是不同的首先,浮点数在计算机当中的二进制表达方式就决定了大多数浮点数都是无法精确的表达的现在的计算机大部分都是数字计算机,不是模拟机,数字机的离散化的数据表示方法自然无法精确表达大部分的数据量的。其次计算机浮点数的精度在单精度float类型下,只有7位,在进行浮点运算的时候,原创 2005-02-04 14:56:00 · 7011 阅读 · 2 评论