c语言 乘法除法运算类型转换,C语言从基础 -> 精通 -> 底层 (4) 运算符与类型转换...

本文详细介绍了C语言中的算术运算符,包括加法、减法、乘法、除法和求余运算,并探讨了类型转换的规则,特别是整数与浮点数的混合运算。此外,还讨论了单目运算符、赋值语句中的类型转换、关系运算符和逻辑运算符,以及按位运算符的概念和用法。
摘要由CSDN通过智能技术生成

一、算术运算符

算术运算符分为单目和双目操作:

单目操作是指对一个操作数进行操作。例如: -a是对a进行一目负操作。

双目操作(或多目操作)是指两个操作数(或多个操作数)进行操作。

1.双目运算符

: 加法运算

: 减法运算

: 乘法运算

/ : 除法运算

% : 求余运算(又叫模运算)

重点说一下后两个运算符:

除法运算符左右两边的数据类型决定了运算结果的类型。两边都是整数结果为整数,有任一方是小数,结果为小数。如果两个整数相除有余数,舍弃余数。运算符右边的数不能为0

整除运算符左右两边的数据必须都是整数,结果是这两个数相除的余数值。如果能整除,结果为0

int a = 3;

int b = 2;

int sum, diff, product, res, mod;

// +

sum = a + b;

printf("sum = %d\n", sum);//5

// -

diff = a - b;

printf("diff = %d\n", diff);//1

// *

product = a * b;

printf("product = %d\n", product);//6

// /

res = a / b;

printf("res = %d\n", res);//1

// %

mod = a % b;

printf("mod = %d\n", mod);//1

接下来我们来看它的本质,在相应的ide应该有对象的汇编代码

(去掉打印后的)

idivl 除数存储在ax寄存器 余数在dx寄存器

Cpluse`main:

0x100000f50 : pushq %rbp

0x100000f51 : movq %rsp, %rbp

0x100000f54 : xorl %eax, %eax

0x100000f56 : movl $0x0, -0x4(%rbp)

0x100000f5d : movl %edi, -0x8(%rbp)

0x100000f60 : movq %rsi, -0x10(%rbp)

0x1000

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值