当前位置:   article > 正文

数据的截断

数据的截断

将一个w位的数据截断为k位的数据

1.对于无符号的数据(num)的转换:

num Mod pow(2,k);

例如:


  1. <pre name="code" class="cpp"><span style="white-space:pre"> </span>unsigned short x = 257;
  2. unsigned char p = x; //1 原因 257%(pow(2,sizof(unsigned char)*8))
  3. //sizof(unsigned char)*8 得到数据有多少位,这个数据其实就是 UCHAR_MAX+1;
  4. cout << (int)p << endl;
  5. 2.对于有符号的数据(num)的转换,要比无符号的转换多了一步,也就是还要将结果转换为有符号的
  6. U2T(num Mod pow(2, k)) //B2T 将无符号的转换为有符号的
  7. short x = 128;
  8. char p = x; //-128 char 能保存的最大数据类型为 -128 ~ 127 , 将其转换为有符号的数据 128-256=128;
  9. cout << (int)p << endl;


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/272375
推荐阅读
相关标签
  

闽ICP备14008679号