当前位置:  技术问答>linux和unix

求C语言写一段代码(关于除法)

    来源: 互联网  发布时间:2017-02-07

    本文导语:  根据: 2进制完成除法运算就是移位和相减,比如1011011除以1110顺序如下:                      1   -   1110   不够减,   结果添0,   1左移一位再加上原来1后的0,为10                    10  ...

根据:
2进制完成除法运算就是移位和相减,比如1011011除以1110顺序如下: 
                    1   -   1110   不够减,   结果添0,   1左移一位再加上原来1后的0,为10 
                  10   -   1110   不够减,   结果添0,   10左移一位再加上原来10后的1,为101 
                101   -   1110   不够减,   结果添0,   101左移一位再加上原来101后的1,为1011 
              1011   -   1110   不够减,   结果添0,   1011左移一位再加上原来1011后的0,为10110 
            10110   -   1110   =   1000     结果添1,同上左移加原来10110后的1得   10001 
            10001   -   1110   =   11         结果添1,同上左移加原来101101后的1得   111 
                111   -   1101   不够减,结果添0,此时1011011所有位都已移完,运算完毕 
    即   1011011   =   1110   *   0110   +   111 
也即   91   =   14   *   6   +   7 
由于你相除的两个数放在两个数组中,比如A[]与B[],要模拟这种运算的话就需要能不 
断地从A中取出其二进制的高位,添加到一个当前值的数组C[]中,而实际进 
行运算的就是C与B。数组单元的类型必然是多位的,你必须要实现做到对数组C[]左移 
一位的操作,剩下的就是判断C够不够减B(即C数组的数是不是比B大)了。 

至于左移,我想大家都想到了,其实C和B是倒序存放的,以数组单元为8位为例, 
C[0]存放着C的最低8位,用表达式表示就是   C[0]   =   C   &   0xff,   C[1]   =   C   &   0xff00,   ... 
这样当移位时,只要保留当前单元C[i]的最高位,即h   =   C[i]   > >   7,然后直接对 
C[i]左移一位即   C[i]  b[i])
return 1;
else if (a[i] 

    
 
 

您可能感兴趣的文章:

  • C语言 除法问题
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 如何得到C语言代码对应的汇编代码?
  • c语言实现MD5算法完整代码示例
  • 如何将C语言代码转换为应用程序(也就是编译)
  • Linux启动过程到哪个阶段之后的源代码全是C语言而不是汇编写的?
  • 何处可得 标准C语言函数源代码?
  • 用vi编辑c语言代码问
  • linux下有没有能编译出16bit代码的C语言编译器?
  • 请问那里有c语言的编译器源代码啊?
  • 求linux下连接odbc的C语言代码
  • c语言中if 语句的作用范围示例代码
  • 在做FTP服务端,请问哪位有解析LIST命令的C语言代码?
  • 就剩下7分了,提个问题 QT语言中清空的代码怎么写
  • C语言中打印特殊图案的实现代码
  • linux下C语言开发的一些源代码,谁需要?
  • 请问在哪里可以找到Unix的C语言源代码?? 立刻给分
  • (****非作业帖),求ftp客户/服务器c语言源代码.
  • c语言 汉诺塔算法代码
  • 请问这段代码用其他非java语言怎么实现?
  • 不会汇编语言,想学习Linux内核网络部分的代码可以嘛?
  • 怎样在c语言的代码里内嵌的操作oracle数据库,各位大虾谢谢了
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 2013年7月和2013年8月编程语言排行榜
  • 如何在GTK2.0下实现国际化(语言选择根据自己设置的语言,不用系统的语言)
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • 苹果OS X和IOS下最新编程语言swift介绍
  • 求助,在linux下,c语言和汇编语言的接口是什么?
  • PHP编程语言介绍及安装测试方法
  • C语言中间语言 CIL
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • 以NetBeans IDE为例介绍如何使用XML中Schema语言
  • 动态编程语言 LIME编程语言
  • c语言基于libpcap实现一个抓包程序过程
  • C语言如何改变当前语言环境
  • HTML超文本标记语言教程及实例
  • 如何在VIM中使汇编语言和C语言自动缩进?
  • MD5算法的C语言实现
  • 我安装的linux时默认语言选择的是中文,又乱码,怎么可以解决?怎么更改默认语言成英文?
  • HTML 脚本语言介绍及<script>标签用法
  • Redhat9安装时语言只选择了中文,现在还能再增加其它语言的支持吗?如英文
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)
  • 请问哪里有ubuntu 9.0版本的中文语言包和KDE的中文语言包下载,我用Google搜索了很多地方都没有!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3