Ⅰ a&(-a) 什么意思 c语言的
按位与因为数字在电脑中是以补码的形式存在的。
例如:
a-=a的意思为a=a-a,先用a减a,再将得到的结果赋值给a。-=实际上是一种缩写形式,使得对变量的改变更为简洁。
运算时,可以将其写成熟悉的形式,从右向左依次计算,注意在每次计算时,变量的值会发生改变, 如不注意,就会导致错误的情况发生。
(1)c语言中一个数的相反数怎么表示扩展阅读:
求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
例:求-5的补码。
-5对应正数5(00000101)→所有位取反(11111010)→加00000001(11111011)
所以-5的补码是11111011。
Ⅱ C语言2的取反为什么是-3,怎么算的正数的原码反码不是不变吗
谁说的正数的反码不变。通常来说,是正数没得反码和补码这一说,因为正数的编码都是原码,也就不存在正数的反码。将正数取反得到的结果是完全的另一个数。
数字编码方式无论哪种编码,都是为了代表一个数并且便于运算。我甚至可以指定00000001来代表数学上的2,00000010来代表5。我可以任意做影射关系,就像ASCII码一样,你说凭什么13就代表换行,10代表回车,我用5代表回车就不行?答案是当然行,如果你够牛,能改变标准就行。说白了就是一个影射而已,我想怎么影射都可以,只是前人已经制定了那样的标准,我们学习的时候,要试图去理解,前人为什么呀要那样制定标准,好处是什么。
Ⅲ #C语言程序 求X的相反数
#include<stdlib.h>
if(x>0)
t=-x;
if(x<0)
t=-fabs(x);
Ⅳ c语言编程作业 输入一个整数,求他的相反数并输出 急急急 在线等
int cou;
scanf("%d",&cou);
printf("相反数为:%d",0 - cou);
Ⅳ C语言相反数代码
a*=-1;//a变为-a
Ⅵ 计算一个数的相反数该怎么表示
楼上的,我记得那是倒数吧?
一个数的相反数,设该数位X。则相反数为-X
Ⅶ 怎么表示相反数
(1)在数轴上表示.
(2)例如:表示2的相反数,在前边加个负号,就是2的相反数.
正数的相反数是负数,负数的相反数是正数.
(0除外,0的相反数还是0,0没有正负之分)
(3)根据相反数的性质“只有符号不同的两个数互为相反数”
在正数前面添上“--”号,就得到这个正数的相反数.在任意一个数前边添上“--”号,新的数就表示原数的相反数.
多看看课本,课本上有规定,再加上资料上的总结,靠自己的理解,就可以理解其中的意思.其实很简单.
Ⅷ c语言中相反数值怎么求!
……
int ge;
int shi;
int ;
ge=123%10;
shi=123/10%10;
=123/100%10;
printf("%d%d%d",ge,shi,);
……
基本方法是这样了,123/10=12;12%10=2;
整数除整数还是整数,小数丢掉,接着取余就是,12除10的余数是2,
把用变量2留住。
理解后就可以去变化了。
Ⅸ c语言表示a,b成相反数
a==-b
a+b==0
都行
Ⅹ 输入一个数i 和其相反数-i c语言 在线等 急急急
VB 将这组数存入数组a(0 to 99) 中,代码自己写。假设有100个数 ,
dim i as integer,j as integer , k as integer ,n as integer,m as integer
dim b() as integer '二维数组,用于存放比对结果
m=0 '用于计算有多少个数存在重复
for i =0 to 98
n=1 '用于计算某数重复多少次
for k=0 to m-1 '循环判断该数是否已比对过
if a(i)=b(0,k) then exit for
next k
if k>=m then '没比对过
for j=i+1 to 99
if a(i)=a(j) then n=n+1
next j
if n>1 then
m=m+1
redim preserve b(2,m)
b(0,m-1)=a(i)
b(1,m-1)=n
end if
end if
next i
'打印比对结果
for i=0 to m-1
print "数字" & b(0,i) &"共有" & b(1,i) &"个"
next i
纯手工输入,没测试,如有些许错误,请自行修改。