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

如题所述

第一位符号位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。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-01-24
数据类型是有符号类型,负数就和数学里的负数一样。int
的取值范围是-32768~32767,只要不越界就行
第2个回答  2019-10-04
1.负数在现代计算机里一般用补码表示,为什么呢?原因是:保证0的左右不矛盾
1是0001,推算出0是0000;
-1的是1111,推算出0也是0000。
如果直接用反码(0变成1,1变成0)那么0就会有两个结果。
如果用第一位表示符号,后三位表示大小,那么就有空间浪费。
2.char类型是8位,1000
0000还原为原码:
最高位是1,表示负数,剩余的各位取反
111
1111
再+1
得到
1000
0000,
+128的原码,整个数为-128
求采纳为满意回答。
第3个回答  2020-02-15
就直接写啊,
举个例子啊:
int
a
=
19;
int
b
=
0-a;
这里b就是负数了,0-19就是
-19了。
第4个回答  2022-07-29

在数值前,写上负号(-),就表示负数了。

示例如下:

  int  x;

  x = - 666; // 数值范围是-32768~32767

在c语言中怎么表示负数。
第一位符号位1为负,0为正。 正数的补码和2进制原码是一样的。负数的补码:1、先取绝对值|x| ;2、对|X|+1 ;3、对|X|+1 取反,就得到它的补码了 。计算机中存放整型数据都是按补码的形式存放的。

C语言中的负数是怎么表示的?
C是这样定义单精度数据的——共有32二进制位,1位符号位+8位阶码(小数点要移动的位数)+23位尾数:最高位是符号位,1表示负数,0表示正数。这里-2.5,所以取1。接着是8位阶码,阶码用移码表示,最高位为符号,0表负、1表正;单精度要在原值上+127实现,即加01111111。把尾数原码接着写在后面...

C语言怎么实现负数?
1、新建一个工程和.c文件,输入头文件和主函数 2、声明被调用的函数,定义变量类型 3、输入整数 4、用一个if语句去判断整数是否为负数,若为负数则用putchar函数输出一个负号 5、调用一个函数 6、定义函数的返回类型和形参类型 7、通过if语句判断该数是否仅剩一位数,若不是则执行else语句 8、通过...

c语言中负数如何表示?
写成10进制 可以直接加负号 写成16进制 最高位为1即可。负数表示为补码, 最高位为符号位 为1 其它位为原码按位取反加一。

C语言如何表示正负值问题
c语言有两种数据类型,一种是整型,一种是浮点型 ,整型类型一般用的原码表示,浮点类型一般用的IEEE754标准进行编码。整型数中原码表示正负数,取最高位为符号位,以8位二进制数来表示1和-1。1的二进制为 0 000 0001 \/\/最高位为符号位,0表示正数,1表示负数 1 000 0001 \/\/这个表示-1 IEEE...

C语言中的负数怎么表达?
C\/C++中,10进制数有正负之分。比如12表示正12,而-12表示负12。但8进制和16进制只能表达无符号的正整数,如果在代码中写-0xF2,C\/C++并不把它当成一个负数。2、以下是一些用法示例:int a = 0x100F; \/\/用一个十六进制数给变量a赋值 int b = 0x70 + a; \/\/用一个十六进制数+变...

C语言中为什么用补码表示负数,而不是直接在正数的前面加1呢_百度知 ...
计算机用二进制,就改称为:补码。八位二进制:0000 0000~1111 1111(十进制255)。255(=1111 1111),就是-1 的补码。254(=1111 1110),就是-2 的补码。。。负数的补码 = 2^n + 该负数。(n 是二进制的位数。)借助于补码,在计算机中,只需配置一个加法器,即可。正数,没有补码,...

C语言里负数是整数吗
不一定,这个负整数要在int的范围内 int型范围在 -32768到32767之间

C语言中x y中有一个为负数 表达式怎样表达
如果x或y中至少有一个负数,可以写:x<0||y<0 如果x或y中只有一个是负数,则麻烦一点,可以这样写:x<0&&y>=0||y<0&&x>=0 有什么问题请留言。

c语言-是什么意思
C语言中的“-”符号有多种含义和用法。1. 作为算术运算符:在C语言中,“-”可以用作减法运算符。例如,在表达式`5 - 3`中,它表示从第一个数中减去第二个数。结果应为2。此外,“-”还可以用于表示负数。例如,-5是一个负数。在变量声明中,如果一个整数被声明为负数,则“-”应用于变量...

相似回答