C语言中无符号数和有符号数之间的运算
发布时间:2020-12-25 05:45:03 所属栏目:经验 来源:网络整理
导读:C语言中有符号数和无符号数进行运算(包括逻辑运算和算术运算)默认会将有符号数看成无符号数进行运算,其中算术运算默认返回无符号数,逻辑运算当然是返回0或1了。 unsigned int和int进行运算 直接看例子来说明问题吧 #include iostreamusing namespace std
00000000 00000000 00000000 00001111,还是15 #include <iostream> using namespace std; int main() { unsigned char a = 255; int b = a; cout<<b<<endl; unsigned char c = 15; int d = c; cout<<d<<endl; return 0; } 对于unsigned char在转换成int或unsigned int时,无论最高位是0还是1,都补0。 对于unsigned short和short进行运算,和char和unsigned char一样,都是要先转换成int,然后再进行运算。 转换时高位补齐的方法也和unsigned char、char一样。 总结 以上所述是小编给大家介绍的C语言中无符号数和有符号数之间的运算,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持! (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |