2.1算术运算符(20分钟)重点 看到了哈希查找

本文介绍了如何使用算术运算符从三位整数中分离个位、十位和百位,并探讨了求余运算在数字处理中的应用,包括在哈希查找算法中构造哈希函数和生成指定范围的随机数。通过实例解析了如何将大范围映射到小范围,并列举了生活中求模取余的实际例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述从一个三位整数中分离出它的个位,十位和百位数字
153/100=1实际含义153中包括几个100;
153%10=3对十进行求余运算的结果,是不会大于10的,因此把十位和百位上的数字都给屏蔽掉了;
中间位如何计算呢?
153-1100=53 相当于把原有的百位数字给去掉了,得到 的就是只包含十位和个位数字的这样的一个数字,这样十位数字就变成了这个数字的最高位,它变成了这个数字的最高位,还可以用刚才求最高位的方法,来求出最高位
53/10=5 得到10位数字
153%100=53 153对100求余,是不会大于100的;因此它的百位数字就会被屏蔽掉了;这样呢,同样可以保证十位数字变成最高位;
53/10=5 53对十进行整数运算来得到它的十位数字;
另外一种
153/10的整除运算,得到百位和十位数字15,相当于把小数点向前移动了一位;得到了它的整数部分;
变成了最低位
15%10=5 得到最低位,
最低位的另外一种
求出了最高位,接着又求出了中间位,那么我们就可以把
153-1
100-5*10=3

求余运算的另外的应用,是将一个范围较大的自然数集,映射到一个范围较小的自然熟的集合上,例如,我们要把一个范围较大的自然数的集合,映射到只要P个元素的小集合上,那么我们就可以对自然数K对P进行求余,来得到映射后的结果。
这种算法,在哈希查找算法中呢就可以用来构造哈希函数
此外还可以用它来生成指定范围内的随即数。
C语言提供的随即函数rand()只能生成一个在0`32767之间的随机数
将0~32767 映射到 1~100。
将大范围映射到小范围。
生成1~100之内的随即数,通过求模取余的方法来实现

rand()生成的随即数对100进行求余,
132767的数映射到099范围内
但是099并不是我们希望的1100
如果要099范围内,变化到·1100
只要在这个数的基础上,在加上一个1,就可以得到1~100的数了。
在这里插入图片描述生活中的求模取余的例子:
一天24小时,一个星期7天,一年是12个月
例如我们每天说的几点几点,其实就是对24进行了求模取余计算后的结果
判断能否被另外一个数整除
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值