谁能解释这个C程序?
答案:1 悬赏:10 手机版
解决时间 2021-03-11 23:24
- 提问者网友:你独家记忆
- 2021-03-11 16:13
谁能解释这个C程序?
最佳答案
- 五星知识达人网友:玩家
- 2021-03-11 16:19
DWORD是32位
digest<<25 将digest左移25位,这样最前面的25位没有了,原先的后7位移到前7位,后面以0补足
比如00000000111111110000000011111111
变成了11111110000000000000000000000000
digest>>7 将digest右移7位,结果后7位被截掉,前面用0补足
00000000111111110000000011111111
变成了00000000000000011111111000000001
| 之后,实际上就是将原先digest 的前25位数都右移7位,后面的7位移到了最高7位
11111110000000000000000000000000
|
00000000000000011111111000000001
得数为
11111110000000011111111000000001
变成了追问哦 那能不能解释下
digest+=*fun_name;
fun_name++;
是干什么的?追答就是把字符的ascii值与digest相加
digest<<25 将digest左移25位,这样最前面的25位没有了,原先的后7位移到前7位,后面以0补足
比如00000000111111110000000011111111
变成了11111110000000000000000000000000
digest>>7 将digest右移7位,结果后7位被截掉,前面用0补足
00000000111111110000000011111111
变成了00000000000000011111111000000001
| 之后,实际上就是将原先digest 的前25位数都右移7位,后面的7位移到了最高7位
11111110000000000000000000000000
|
00000000000000011111111000000001
得数为
11111110000000011111111000000001
变成了追问哦 那能不能解释下
digest+=*fun_name;
fun_name++;
是干什么的?追答就是把字符的ascii值与digest相加
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯