在c语言中怎么表示负数。

Python015

在c语言中怎么表示负数。,第1张

第一位符号位1为负,0为正。 正数的补码和2进制原码是一样的。

负数的补码:

1、先取绝对值|x| ;

2、对|X|+1 ;

3、对|X|+1 取反,就得到它的补码了 。

计算机中存放整型数据都是按补码的形式存放的。

扩展资料:

有符号数的表示方法是由硬件决定,而不是由C决定的。有三种表示方法:

1、二进制原码

0000 0001  表示 1

1000 0001  表示 -1

这个方法有个缺点是有两个零: +0 和 -0。这会引起混淆,而且用两个位组合来表示一个值也有些浪费。

2、二进制补码(最普遍的系统)

区别在于 singned 和 unsigned:

1)如果是无符号字节, 1000 0000 该组合为 128

2)如果是有符号字节, 1000 0000 该组合为 -128

第一种表示数的范围是 0 ~ 255;

第二种表示数的范围是 -128 ~ +127,对于一个二进制补码数取负数,最简单的方法就是取反、加 1。

3、二进制反码

通过反转位组合中的每一位以形成一个数的负数,例如:

0000 0001  表示 1

1111 1110  表示 -1

这种方式也有一个 -0:1111 1111。其范围是 -127 ~ +127。

%是求余运算符,也叫模除运算符,用于求余数;

%要求两个操作数均为整数(或可以隐式转换成整数的类型)。

标准规定:

如果%左边的操作数为负数时,则模除的结果为负数或者0;

如果%左边的操作数为正数时,则模除的结构为正数或者0。

“c”为字符类型,其235对应二进制位0xFD,也就是-3的补码形式,则c变换为int为-3。

拓展资料

一、算术运算符

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

二、优先级别

1、优先级1级

结合方向 左结合(自左至右)

( ) 圆括号

[ ] 下标运算符

->指向结构体成员运算符

. 结构体成员运算符(请注意它是一个实心圆点)

2、优先级2级

结合方向 右结合(自右至左)单目运算符

! 逻辑非运算符

~ 按位取反运算符

++ 自增运算符

-- 自减运算符

- 负号运算符

(类型) 类型转换运算符

* 指针运算符

&地址与运算符

sizeof 长度运算符

3、优先级3级

结合方向 左结合 双目运算符

* 乘法运算符

/ 除法运算符

% 取余运算符

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:int a = -1024printf("%d", -a)。

3、编译器运行test.cpp文件,此时成功把负数转化为正数进行了输出。