有符号数和无符号数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有符号数和无符号数相关的知识,希望对你有一定的参考价值。

  数据类型的最高位用于标识数据的符号

最高位为1,表明这个数为负数

最高位为0,表明这个数为正数


   在计算机内部,用补码表示有符号数

----正数的补码为正数本身

----负数的补码为改数的绝对值各位取反后加1


  在计算机内部用原码表示无符号数

----无符号数默认为正数

-----无符号数没有符号位


  对于固定长度的无符号数

----MAX_VALUE+1-------->MIN_VALUE

----MIN_VALUE - 1-------->MAX_VALUE

   unsigned 将变量声明为无符号类型

   在C语言中,只有整数类型才能声明为unsigned类型

   当一个有符号数和一个无符号数进行运算时,有符号数将会被当做无符号数进行运算。也就是说,当有符号数为负数时,那么这个有符号的负数和一个无符号数运算时,它就变成了一个很大的正数。

----当无符号数和有符号数混合计算时,会将有符号数转换为无符号数后再进行运算,结果为无符号数。


本文出自 “梵高说我脑子有病” 博客,谢绝转载!

以上是关于有符号数和无符号数的主要内容,如果未能解决你的问题,请参考以下文章

无符号数和有符号数的转化

有符号数和无符号数

有符号数和无符号数

汇编语言无符号数与有符号数转换

verilog中有符号数的运算

有符号数和无符号数在一起如何处理的