概述
我们看到十六进制是按照加法、减法进行的;
加减法都是按照十六进制计算的;只不过我们翻译成uchar或char的时候,我们理解的不同。
总结:
1)对于不需要补符号的情况(等字节的情况),只要十进制数在00-FF的表示范围内,而不管数据类型是有符号的还是无符号的,我们都能正确表示,
如 uchar ch = -5 , 我们可以 char mm = ch ; mm 此时为-5;
char ch = 128,我们可以 char mm = ch ; 此时mm为128;
2)对于需要补符号的情况(少字节数转为多字节数的情况)以及超出了00-FF的表示范围后,我们可以使用“高减低加”原则及原数据符号情况来还原数据。
如,uchar ch = -5, uint mm = ch, 此时 mm 为 251; int nn = ch; 此时nn为-5;
char ch = 128, uint mm = ch,此时mm为128; int nn =ch;此时nn为-128;
uchar ch = 257,uint mm = ch,此时mm为 1; int nn = ch;此时nn为1;
3)数据类型只是表征了所占了字节数(数据位数)及如果要补符号位(少字节数转位多字节数情况)时表示所补符号位是0还是1.跟本身存储的数据无关。
最后
以上就是土豪往事为你收集整理的c语言中存储数据的解释的全部内容,希望文章能够帮你解决c语言中存储数据的解释所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复