C/C++实现循环左移,循环右移

您所在的位置:网站首页 利用数组实现循环左移一位 C/C++实现循环左移,循环右移

C/C++实现循环左移,循环右移

2024-07-10 13:15| 来源: 网络整理| 查看: 265

目录

循环移位直接可用的函数(循环右移、循环左移)

整体代码

目录

循环移位直接可用的函数(循环右移、循环左移)

整体代码

本文的小技巧

注意的地方

本文的小技巧

实现对一个无符号数的循环左移和循环右移

循环移位直接可用的函数(循环右移、循环左移)

//val表示需要移位的数 n表示移位位数 //字节数乘以8代表一共多少位 //向右循环移n位的结果:假设数据一共size位,向左移size-n位,再与原数右移n位进行或操作的结果

//val表示需要移位的数 n表示移位位数 //字节数乘以8代表一共多少位 //向右循环移n位的结果:假设数据一共size位,向左移size-n位,再与原数右移n位进行或操作的结果 uint32 bit_move(uint32 val, int n) { uint32 size = sizeof(val) * 8; n = n % size; //return (val >> (size - n) | (val n));//右移 } 整体代码

如果出现头文件报错,去我主页搜关键词“bits/stdc++.h”

#include using namespace std; typedef unsigned short int uint16; typedef unsigned int uint32; uint32 bit_move(uint32 val, int n) { uint32 size = sizeof(val) * 8; n = n % size; //return (val >> (size - n) | (val n)); } int main() { uint16 a; //cin >> hex >> a; scanf_s("%hd", &a);//16进制的两种输入方式 (这个地方如果是十进制输入,会栈溢出,为什么?) cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3