社区
硬件设计
帖子详情
一个计算机系统只存在移位(左移或右移)、加减法指令,如何用C语言实现如下计算
freeskyo
2010-08-13 02:04:04
1/ 一个计算机系统只存在移位(左移或右移)、加减法指令,如何用C语言实现如下计算:
(1) n/8 (2) n/9 (3) n*13
...全文
525
15
打赏
收藏
一个计算机系统只存在移位(左移或右移)、加减法指令,如何用C语言实现如下计算
1/ 一个计算机系统只存在移位(左移或右移)、加减法指令,如何用C语言实现如下计算: (1) n/8 (2) n/9 (3) n*13
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tietao
2010-08-22
打赏
举报
回复
[Quote=引用 14 楼 of123 的回复:]
(1) n/8 ==> n>>3
(2) n/9 ==> for(i=0;n>=9;i++){n-9}; //i 就是商
(3) n*13 ==> n<<4-n-n-n
[/Quote]
高,学习了,
以前只知道,可以没想到是这样的!!
of123
2010-08-19
打赏
举报
回复
(1) n/8 ==> n>>3
(2) n/9 ==> for(i=0;n>=9;i++){n-9}; //i 就是商
(3) n*13 ==> n<<4-n-n-n
freeskyo
2010-08-17
打赏
举报
回复
继续....
有更好的方法的话,我就很快结贴了!
freeskyo
2010-08-17
打赏
举报
回复
[Quote=引用 11 楼 great_bug 的回复:]
至少需要有 移位/比较/加/减 指令,才能实现乘除运算
[/Quote]
没错,都有,我给出答案如下:(不过可能不是最优的)
(1) n/8 ==> n>>3
(2) n/9 ==> n>>3
(3) n*13 ==> n<<3+n+n+n+n+n
Great_Bug
2010-08-17
打赏
举报
回复
至少需要有 移位/比较/加/减 指令,才能实现乘除运算
bluesea87
2010-08-16
打赏
举报
回复
[Quote=引用 6 楼 freeskyo 的回复:]
引用 4 楼 bluesea87 的回复:
c语言中你尽管用除和乘好了,如何处理,编译器会帮你安排好
C语言支持,没错;我是目标系统没有乘除的基础上,想出创造性的方法。
[/Quote]
我觉得这话又问题,假设目标cpu只有一条mov指令,那么相应的工具链编译有乘法的c语言是通不过的
用户 昵称
2010-08-16
打赏
举报
回复
没有乘除就不要说C语言。
dreamjack
2010-08-15
打赏
举报
回复
任何计算机的乘除法实现都是这么来的
dreamjack
2010-08-15
打赏
举报
回复
乘法,左移 求和
除法,右移 求减
fcc250513166
2010-08-14
打赏
举报
回复
同意kacyquan
freeskyo
2010-08-14
打赏
举报
回复
[Quote=引用 4 楼 bluesea87 的回复:]
c语言中你尽管用除和乘好了,如何处理,编译器会帮你安排好
[/Quote]
C语言支持,没错;我是目标系统没有乘除的基础上,想出创造性的方法。
bluesea87
2010-08-13
打赏
举报
回复
c语言中你尽管用除和乘好了,如何处理,编译器会帮你安排好
InsaneCode
2010-08-13
打赏
举报
回复
(3)
int i;
int he;
for (i=0;i<13;i++)
{
he+=n;
}
结果为he;
InsaneCode
2010-08-13
打赏
举报
回复
(2)和1一样。
InsaneCode
2010-08-13
打赏
举报
回复
(1)
int i=0;
int n;
int yushu;
while(n> =7)
{
n-=8;
i++;
if(n<=7)
yushu=n;
}
结果i余yushu;
十六进制的加、减、乘、除、
左移
、
右移
计算
目录 一、十六进制的加法 二、十六进制的减法 三、十六进制的乘法 四、十六进制的除法 五、十六进制的
左移
计算
六、十六进制的
右移
计算
十六进制的
计算
方法和十进制差不多,十进制是满十进一,那么十六进制一样,满十六进一,不够时向前一位借一,具体可参考以下几个例子边便能清楚的了解了: 一、十六进制的加法 比如我们随便列举2个十六进制相加:0x3D+0x25=62 二、十六进制的减...
C语言
-【
移位
操作符详解】
这篇文章主要介绍了
C语言
中
移位
操作符
c语言
中加减和
移位
,c中的
移位
运算
C++位运算,看高手都是运用的灵活自如,打算从今天开始学习他!收藏每次看到位运算的地方,都比较迷糊.以前学习C的时候也不求甚解,到现在看来,觉得位运算和指针在C++基本知识里是最难理解,最难融会贯通的东西.尤其是位运算,用好了可以"出神入化"了^_^.如果当年好好学习
C语言
,也不至于今天这么费劲!位运算位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指...
左移
右移
的优先级
左移
右移
的优先级是最低的,比加减还要低。 也就说 a>>8+b,是先
计算
a+b,然后再
右移
。
单片机
c语言
循环
移位
指令
,avr单片机中左
移位
和
右移
位
指令
计算
机的
指令
系统是一套控制
计算
机操作的代码,称之为机器语言。
计算
机只能识别和执行机器语言的
指令
。为了便于人们理解、记忆和使用,通常用汇编语言
指令
来描述
计算
机的
指令
系统。汇编语言
指令
可通过汇编器翻译成
计算
机能识别的机器语言。AVR单片机
指令
系统是RISC结构的精简
指令
集,是一种简明易掌握﹑效率高的
指令
系统。SL-DIY02-3开发实验器使用AT90S8535单片机,有118条
指令
, 而我们所做的11...
硬件设计
6,125
社区成员
11,293
社区内容
发帖
与我相关
我的任务
硬件设计
硬件/嵌入开发 硬件设计
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 硬件设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章