8什么意思c语言
❶ c语言中的逻辑运算符问题 !8是什么意思,它的值是不是-8
!8的值是0.符号“!”代表逻辑非,也称逻辑取反;逻辑值只有“真”和“假”,“1” 表示真,“0”表示假;比如 !(1)=0,!(0)=1; 另有规定:非0为真 8不等于0,所以!(8)=!(1)=0;其他的比如!(-3)=0, !16=0,...只有 !(0)=1
❷ C语言中什么是一个8位的整数
【8位整数】
计算机中存储数据,是以二进制的形式存储(有时也被表示为16进制)。
二进制8位 就是 0000 0000 到1111 1111 (换算成十进制是 0 ~ 255 )
【无符号 / 有符号 整型】
同时C语言中 整型的最高位 用来表示 符号。
规定当 最高位为 1表示负数。
无符号整型中 附加 unsigned 关键字
无符号8位整数, 0000 0000 ~ 1111 1111 表示 0 ~ 255
有符号整型中没有附加unsigned 关键字
有符号8位整数:
0000 0000 ~ 0111 1111 表示 0 ~ 127
1111 1111 ~ 1000 0000 表示 -1 ~ -128
【第一种方法】【 char 表示8位整数 】
C语言 中一般 用 char 表示一个字节(byte)来表示 8位(bit)整数
但是如果 你想自定义 位数 比如 4位整数 7位整数 11位整数等等呢
就需要用到结构体 中可以可以声明 一个类型的实际占用位数。
【第二种方法】【 struct 中自定义类型位数 】
你可以使用 struct 或者 class (C++中使用,可以定义构造函数 或者使用默认构造函数)内部数据成员可以加冒号限定位数。
【 演示说明 】
以下代码演示了 当 有符号整型限定为n时(n小于等于类型最大占用位数) 赋值 2^(n-1) 时,整型变量表示为 一个负数。 说明高位被 设定为 1, 同时证明了 已经分配了 指定位数的 整数。
【 C语言 】中使用 如下所示:
#include<math.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
structINT_4{
intvalue:4;
};
structINT_5{
intvalue:5;
};
voidmain(){
charch=128;
structINT_4i4={8};
structINT_5i5={16};
//i4.value=8;
printf("i4-->%di5-->%d ",i4.value,i5.value);
printf("char-->%d ",ch);
system("pause");;
}
【 输出结果:】
i4 --> -8 i5 --> -16
char --> -128
请按任意键继续. . .
【 C++ 】中使用 如下所示:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
structINT_8{
intvalue:8;
};
classINT_4{
public:
INT_4(intvalue=0){
this->value=value;
}
intvalue:4;
};
intmain(){
INT_8i8=INT_8();
INT_4i4=INT_4();
charch=128;
i8.value=128;
i4.value=8;
printf("i8-->%d,i4-->%d ",i8.value,i4.value);
printf("char-->%d ",ch);
system("pause");;
return0;
}
【 输出结果:】
i8-->-128,i4-->-8
char-->-128
请按任意键继续...
当然这种方式用的不多,尤其是C语言中,不推荐使用这种方式。
C语言往往作为 库或者 驱动开发,需要很好的兼容性。
(不确定标准C 语言 ANSI C标准是否支持该特性。)
【 注:】
以上代码 均在 code::block GNUMingw gcc 编译器下通过
❸ C语言表达式 -5&&!8是什么意思
-5&&!8
结果是0
如图中的调试结果所示(左下角)
这个表达式也可以写作
(-5)&&(!8)
因为“-”(求相反数)与“!”(逻辑非)运算,的优先级一样。
而对于“&&”(逻辑与运算符),
C语言认为在逻辑运算中,非0的操作数是“真”,反之则为“假”。
所以说“-5”为真
“8”也是真
而“!8”是假
而到“&&”计算时,就相当于
1&&0==0
即
真∧假=假
❹ c语言%8.2d什么意思,尤其是那个8是干嘛的
8是输出是数占的宽度为8列(如果实际宽度超过,则以实际宽度为准显示),.2的意思是输出时显示小数点后两位,%d是指输出整数,所以这个好像有点问题,这样写可以,但是这样用没有意义,一般用%8.2f
吧
%e意思是以指数形式输出,如1e10,代表1乘以10的10次方
❺ C语言中 temp <<= 8 表达式是啥意思
计算机中是以byte为基本单位的。每个byte由8个bit组成,每个bit由值0或1(2进制),一个字(16)位的是2个byte,32位的字为4个byte.
你看的例子中u32表示 unsigined int32;(32位的无符号整型数字)
比如temp=8; ,化成bit就为成
0000 0000 0000 0000 0000 0000 0000 1000
<< x 含义是,将上面bit表示的数据,每一位都向左移动x位,低位补0(实际上相当于乘以2的x次方)
比如上例,temp <<= 1;结果就是:
0000 0000 0000 0000 0000 0000 0001 0000
同样temp << 8,就是每一位向左移动了8位:
0000 0000 0000 0000 0000 1000 0000 0000
类似的运算符还有>>,向右移动的意思,(>>1就是除以2)
❻ c语言中,i = ((i + 255) >> 8) << 8 什么意思
这里i应当是一个无符号的至少2字节(4字节或8字节)的整数类型的变量,
最低字节收尾法有 则进位并清0,没有则无影响
+255会引起非0向第8bit进位,
>>8是右移会舍去低8位,值缩小了256倍
<<8是左移,值会放大256倍,左边补8个0
比如
0x1101 处理后就是 0x1200
0x1FFF 处理后成了0x2000
❼ int i,a[8]在c语言中是什么意思
int在C语言中是整型变量的定义,int i就是定义一个整数变量i,在接下来的使用中i都是整数,比如你可以i=1或者其他整数,如果你让i=1.1,那么系统会报错或者自动转为i=1;a[8]是数组,int a[8]就是定义一个最多储存8个整数的数组,数组下标从0到7,当然不一定存满,但最多存储8个整数。例如下图:
❽ c语言中 x<<=8是什么意思
x<<=8的意思是将x的值左移8位,重新赋值给x,相当于x=x<<8;
<<是左移的意思,左移之后一般在其后补0,如00001010左移1位即为00010100.
❾ c语言char str[8]是什么意思啊 求解答!
C语言里面没有字符串类型,但是C语言有个被称为“C语言的灵魂”->指针这个东西。char str[8],意思就是定义了一个含有8个字符的字符数组,单个字符引用方式为str[0]...str[7]。同时数组名str也是这个数组的首地址。可以这样子直接打出str数组里面的内容
printf("%s",str);
❿ C语言中什么叫做高八位和低八位啊
高八位和低八位:内存里,一个单元是一个字节,也就是8位。如果是16位的指令,就是同时操作连续的2个内存地址,将这连续的2个内存地址当成一个单位,所以就有高8位和低8位之分。
由于计算机仅识别二进制描述的数字,所以对一个内存地址,也就是8位二进制,如:0000 0001,0000就是高四位,0001就是低四位。
当然2个内存地址,就是16位二进制,也就是:0000 0001 0000 0002。0000 0001 就是高八位,0000 0002就是低八位。
每个八位中又分成高低四位。如:1010 0001 1111 0101,换算成16进制就是:1010–10(10进制)—A(16进制),0001–1(10进制)—1(16进制)所以他的高八位就是A1,同样它的低八位就是F5。
(10)8什么意思c语言扩展阅读:
如何在C语言中的ascII码表里查找高四位、低四位:
ascii码在C语言中用char型存储,一个char占一个字节,即8位。
当写成二进制表达形式时,就是8个0或者1的数字,这8个数字中,左边四个称为高四位,右边四个称为低四位。
所以在查ascii码表时,需要:
1、把要查的值,转成二进制值;
2、得到高四位值,及低四位值;
3、根据高四位值查表,找到所在列;
4、根据低四位值查表,找到所在行;
5、所在行列的交叉格,就是要查找的字符。