题目简介
- 加密1:
对一个整数 (32 位无符号整数) 进行规则如下的加密:
低 16 位和高 16 位互换
此时的低 16 位按位取反
此时的高 16 位与低 16 位进行异或运算,结果存储到高 16 位
写出一个程序对指定的整数进行加密。 - 加密2:
对一个整数 (32 位无符号整数) 进行规则如下的加密:
低 16 位和高 16 位互换
此时的低 16 位按位取反
此时的高 16 位与低 16 位进行异或运算,结果存储到高 16 位
现在根据加密后的整数,求出加密前的整数的 16 进制形式。
说明
第一题按题目方法模拟即可。不熟悉位运算写起来就感觉很吃力。
#include <stdio.h>
unsigned int encrypt(unsigned int number)
{
unsigned short high16, low16;
unsigned int value =