int 的灵活使用可以当作char short和3字节使用(这里不考虑占用内存)
2015-08-06 18:14
330 查看
/********************************************************************** * * Copyright (c)2015,WK Studios * * Filename: A.h * * Compiler: GCC vc 6.0 * * Author:WK * * Time: 2015 4 8 * **********************************************************************/ #include <iostream> #include <cmath> using namespace std; int SmallShort(int value,int signed_bit_num ) { int a= (int)pow(2,(signed_bit_num*8-1))-1; int b=(-(int)pow(2,signed_bit_num*8-1)); while(value >a) value -= pow(2,signed_bit_num*8) ; while(value < b) value += pow(2,signed_bit_num*8); return value; } void main() { int value1 = -129; int res1= SmallShort(value1,1);//1表示一字节有符号整数表示的范围-128--127 -2^7----2^7-1 cout<<res1<<endl; int value2 = -32769; int res2= SmallShort(value2,2);//2表示二字节有符号整数表示的范围-32768 ---32767 -2^15 ---2^15-1 cout<<res2<<endl; int value3 = -8388609; //3表示三字节有符号整数表示的范围-8388608--8388607 -2^23 ---2^23-1 int res3=SmallShort(value3,3); cout<<res3<<endl; }
相关文章推荐
- java获得验证码图片
- lambda表达式
- Objective-C设计模式——单例Singleton(对象创建)
- storyboard 和 xib混用出现的layout布局有问题
- AndroidStudio单元测试——instrumentation
- Activity的启动模式与flag详解
- hdoj-1593-find a way to escape【数学题】
- ERROR: Can't get master address from ZooKeeper; znode data == null
- scala学习之map和tuple
- 使用Dropbox+Justwriting+Markdown建立个人博客
- Mysql数据库设计
- chain
- 微信支付V3版本的那些事
- TinyXML:一个优秀的C++ XML解析器
- 反转单向链表
- JPA入门例子(采用JPA的hibernate实现版本)
- 使用GCD
- 在一个文件中有10G个整数,乱序排列,要求找出中位数
- QT学习笔记(一)——ui的认识
- Linux通过samba访问windows文件