若已声明unsigned a=30;,则表达式a=-a的值为?
来源:百度知道 编辑:UC知道 时间:2024/05/26 23:23:40
各位 回答详细些吧!我在初学啊,很多不懂!谢谢啊
首先你要学习原码、反码、补码的基本概念!
计算机里数据是以补码的形式存储的。又是以二进制形式存储的。所以我写出a在计算机中的存储值(以TC下16位为例):
unsigned a=30,则a的存储值为:0000 0000 0001 1110
a=-a后,a=-30,则a的存储值为:1111 1111 1110 0010
所以,对于a=30来说,以无符号形式及有符号形式输出都是30
对于a=-30来说,若以有符号形式输出结果为-30,若以无符号形式输出,结果是65536-30=65506!!!
若你在VC下运行(32位),a=-30的存储值前面又多了16个1,所以它的值是2的32次方-30
若已声明unsigned a=30;,则表达式a=-a的值为?
unsigned int a=2;int b = -3;
定义unsigned int a;输入-1程序怎么处理
若有声明”double a[2][3]={1,2,3,4,5,6};"则下列表达式中不正确的是?为什么?
unsigned char
C语言中的强制转换问题,为什么unsigned short dd=5392强制转换成unsigned char的结果是16呢?
Unsigned long 转换成 Unsigned char*
已只实数a满足(1994-a)+根号下a-1995=a,求a-1994的平方
如何使用此代码来找回密码static unsigned char entropyData[] = {
unsigned long u=65535;printf("%d",u);结果-1是怎么来的