当前位置:首页 » 编程语言 » c语言1和0哪个是正数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言1和0哪个是正数

发布时间: 2022-11-19 14:04:31

c语言问题求助

二进制11111111代表-127,是按原码规则来算。若按补码规则,二进制11111111算出来是-1。

文中说的是10000000代表-128。

详细描述如下:


[+1] = [00000001]原= [00000001]反= [00000001]补

[-1] = [10000001]原= [11111110]反= [11111111]补

计算机将第1位作为符号位,0表示正数,1表示负数。

原码:原码很好理解,第1位是符号位,其余位表示数值。

反码:

(1)正数:正数反码是其本身。

(2)负数:去掉原码符号位,其余位按位取反。

补码:

(1)正数:正数补码是其本身。

(2)负数:在反码基础上加1。

由上述定义可知:

[+0] = [00000000]原= [00000000]反= [00000000]补

[-0] = [10000000]原= [11111111]反= [00000000]补

既然+0和-0的补码一致,所以只需保留一个(+0和-0原码不同,注意看符号位)。

这样一来,“[-0] = [10000000]原”相当于没有使用,于是规定:“[10000000]”为-128。

既然是“规定”,就不能按原码、反码、补码的规则计算了。设计计算机时就在硬件中设置为:10000000代表-128。

之所以引入补码,是为了消除减法,用加负数来替代减法运算,这样让CPU设计更简单。

② C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。 在判断一个数据的“真”或“假”时,以0和

在C语言中,可以用1、0来表示逻辑的真、假;也可以用表达式来表示,其中表达式正确则表达式的结果为1,也就是真,反之则为0;当表达式的结果是一个具体的数字时,正数则为真,0和负数都为假。

③ C语言中1和0代表什么

逻辑表达式的值应该是一个逻辑量“真”或“假”。C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个量是否为真时,以0代表“假”,以非0代表“真”。即将一个非零的数值认作为“真”。

④ C语言中“1”和“0”那个表示正确哪个表示错误谢谢!

非零表示true,0表示false;只要是非零就是正确哈!

⑤ 在C语言中正确的是用0还是1哦

在c语言中,true为1,false为0

⑥ c语言。0按位取反是1还是-1,1按位取反是0吗

i为int类型 通常占4个字节
0的原码:0000 0000 0000 0000 0000 0000 0000 0000
取反: 1111 1111 1111 1111 1111 1111 1111 1111
最高位是1所以是负数,求其原始数据,方法是
再次取反加1(符号位不变)
取反: 1000 0000 0000 0000 0000 0000 0000 0000
加1 1000 0000 0000 0000 0000 0000 0000 0001
所以是 -1

⑦ C语言中正整数的定义int也包括了负整数!

C语言基础没学过吗,整型在数值上分为了无符号和有符号。
区别在于在内存空间的存储上,高位是不是代表符号位,有符号位的最高位是1则是负数,0是正数
其余位则为数值部分,但是计算机存储是以补码形式存储的,方便计算。
无符号位应该是根据char型来的,毕竟char型是不需要符号位的8位二进制数,可以表示256个字符
无符号整数提供个更宽的正数部分,也为一些实际情况提供了更好的表示。
int型默认定义为有符号整数,最高位为符号位,要定义正整数,用unsigned
int

⑧ c语言中0与1以及0与非零有区别么

c语言中0与1以及0与非零没有区别
C中逻辑运算的结果只有两种:真

假,
假用数值表示为0,非0表示为真,一般会用1来表示。
C语言中提供了三种逻辑运算符:
&&(与运算)
||(或运算)
!(非运算)
其求值规则如下:
1)
与运算(&&)
参与运算的两个量都为真时,结果才为真,否则为假。例如:

5>0
&&
4>2
由于5>0为真,4>2也为真,相与的结果也为真。
2)
或运算(||)
参与运算的两个量只要有一个为真,结果就为真。
两个量都为假时,结果为假。例如:

5>0||5>8
由于5>0为真,相或的结果也就为真。
3)
非运算(!)
参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:

!(5>0)
的结果为假。
虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0
”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如: 5和3均为非“0”值,因此5&&3的值为“真”,即为1。
又如: 5||0的值为“真”,即为1。

⑨ C语言中什么时候0表示真,1表示假

C语言规定,1为真(TRUE),
0为假(FALSE)。
所以题目本身是一个伪命题,在C语言的环境下,任何时候都不会出现0为真1为假的情况。
扩展开来,用来判断的并不一定是1和0两种,在出现其它值的情况下,C语言会做如下操作:
1
把非整型类型的值,如浮点型,指针等,强制转为整型。
2
判断该整型值是否为0。
3
如为0,则值为假;如不为0,则值为真。

⑩ c语言中0与1以及0与非零有区别么

没有区别。

C语言判断真假时,以0为假,非0为真,即1也是表示真。

通常使用逻辑变量的做法:

定义一个int类型变量,当变量值为0时表示false,值为1时表示true。

int flag;

flag = 0;

......

flag = 1;

if( flag ){......}

(10)c语言1和0哪个是正数扩展阅读:

C99提供了_Bool 型,所以布尔类型可以声明为 _Bool flag。

_Bool依然仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1。

C99还提供了一个头文件 <stdbool.h> 定义了bool代表_Bool,true代表1,false代表0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。

举例:

#include <stdbool.h>

#include <stdio.h>

//计算n!,n的值在main中定义

int main(void){

int n = 10; //计算叠乘数

int sum = 1; //用来存放叠乘的结果

bool flag = false; //叠乘标记

int num = n; //循环次数

while( !flag ){

sum = sum * (num--);

//当num=1时结束循环

if( num == 1){

flag = true;

}

}

printf ("%d的叠乘值为 %d ", n, sum);

return 0;

}