c/c++代码 No.14 转置一个值中的最后n位
来源:互联网 发布:长安大学人工智能 编辑:程序博客网 时间:2024/04/29 09:02
#include <iostream>#include <iomanip>using namespace std;char* getBit(int n, char *str) { int size = 8 * sizeof(int); for (int i = size - 1; i >= 0; n >>= 1) { str[i--] = (n & 1) + '0'; } str[size] = '\0'; return str;}int toBit(char *str) { int n = 0; for (int i = 0; str[i] != '\0'; i++) { n <<= 1; n += str[i] - '0'; } return n;}int invert_end(int n, int w) { int mask = 0; int bitval = 1; while (w-- > 0) { mask |= bitval; bitval <<= 1; } return n ^ mask;}int main(void) { int a = 125; int b = 6; char *str = new char[101]; str = getBit(a, str); cout << setfill('0') << setw(8 * sizeof(int)) << str << endl; cout << toBit(str) << endl; a = invert_end(a, b); str = getBit(a, str); cout << setfill('0') << setw(8 * sizeof(int)) << str << endl; cout << toBit(str) << endl; return 0;}
0 0
- c/c++代码 No.14 转置一个值中的最后n位
- poj 3406:Last digit(求C(n, m)的最后一个非0位)
- c/c++代码 No.2 位与
- c/c++代码 No.3 位或
- c/c++代码 No.6 打开位
- c/c++代码 No.7 关闭位
- c++-最后一个字符
- c/c++代码 No.4 位异或
- c语言 m位整数中的n个最大素数
- 关于C中的\n
- 求N!的最后一个非0位
- c中的位域
- C中的位域
- C中的位域
- c中的位操作
- C中的位操作
- C中的位域
- C中的位运算
- Mybatis分页插件的实现
- 阿兹卡班(azikaban)报错:syntax error:unexpected end of file
- 【Mac App工具】meld merge工具安装教程
- c/c++代码 No.13 二进制与十进制相互转换
- 如何用 Kaldi 训练一个 DNN 声学模型
- c/c++代码 No.14 转置一个值中的最后n位
- 了解程序,进程和线程
- 零基础如何系统的学习python
- C++中重载、重写(覆盖)和隐藏的区别实例分析
- Connection reset原因分析和解决方案
- 前言
- rails 代码组织
- 使用最火技术打造真实App
- LINUX(red hat7.0 ) 配置网络