c语言中-1,c语言中-1是真还是***

kodinid 27 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言中-1的问题,于是小编就整理了4个相关介绍c语言中-1的解答,让我们一起看看吧。

  1. -=1是什么意思c语言?
  2. c语言:-1如何用无符号的二进制八进制十进制十六进制输出?
  3. c语言中按位取反-1怎么算?
  4. c语言中y--=1是什么意思?

-=1是什么意思c语言?

答-=1是意思在c语言中这里应该是y -= 1 ; -=是C语言提供的自减运算符,该运算符有两个操作数:左操作数、右操作数,左操作数必须是一个变量, 右操作数可以常量、变量或表达式。其意义为:将左操作数减去右操作数,并将结果存储到左操作数中,如y -= 1 ; 相当于y=y-1 。

c语言:-1如何用无符号二进制八进制十进制十六进制输出

1的二进制代码是01.再加上个-就是11.如果int型是4字节,就是32个1.所以,输出就是017777777777777777777770XFFFFFFFFFFFFFFFF二进制就是前面32个1.

c语言中-1,c语言中-1是真还是假-第1张图片-安济编程网
图片来源网络,侵删)

c语言中按位取反-1怎么算?

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

Java使用补码表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。补码的规定如下:对正数来说,最高位为0,其余各位代表数值本身(以二进制表示),如+42的补码为00101010。对负数而言,把该数绝对值的补码按位取反,然后对整个数加1,即得该数的补码。如-42的补码为11010110(00101010按位取反11010101+1即11010110)用补码来表示数,0的补码是唯一的,都为00000000。(而在原码,反码表示中,+0和-0的表示是不唯一的,可参见相应的书籍)。而且可以用111111表示-1的补(这也是补码与原码和反码的区别)。

c语言中y--=1是什么意思?

y--1是两条语句的合成,如果y=4;那么,y---1由于y--相当于y-=1;而-=运算符的优先级低于-所以计算顺序是:y-1结果是4-1=3然后进行y--结果是4--=3如果x=y---1;那么x的值就是4-1=3它相当于合并了:y-1;y--;两条语句特别注意的是:y---1不是(y--)-1,如果有括弧的话,将将先计算y--了,与原意不符。

到此,以上就是小编对于c语言中-1的问题就介绍到这了,希望介绍关于c语言中-1的4点解答对大家有用。

c语言中-1,c语言中-1是真还是假-第2张图片-安济编程网
(图片来源网络,侵删)
c语言中-1,c语言中-1是真还是假-第3张图片-安济编程网
(图片来源网络,侵删)

标签: 补码 操作数 0000