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、所在行列的交叉格,就是要查找的字元。