我是靠谱客的博主 健康鱼,最近开发中收集的这篇文章主要介绍数据的截断,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

num Mod pow(2,k);

例如:


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


 

最后

以上就是健康鱼为你收集整理的数据的截断的全部内容,希望文章能够帮你解决数据的截断所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部