⑴ ::在c++中什麼意思
"::"在C++中表示作用域,和所屬關系。"::"是運算符中等級最高的,它分為三種,分別如下:
一、作用域符號:
作用域符號」::「的前面一般是類名稱,後面一般是該類的成員名稱,C++為例避免不同的類有名稱相同的成員而採用作用域的方式進行區分。
例如:A,B表示兩個類,在A,B中都有成員member。
那麼:
1、A::member就表示類A中的成員member。
2、B::member就表示類B中的成員member。
二、全局作用域符號:
全局作用域符號:當全局變數在局部函數中與其中某個變數重名,那麼就可以用::來區分,例如:
⑵ 在c的編譯器中」,」運算符是不能做為左值的,但在C++中可以是嗎
在C語言中,左值(left value),指在賦值表達式(assignment expression)中作為將要賦予值的地址的表達式。
例如在賦值語句
1
i = 10;
中i就是一個左值,它必須是一個變數,或是一個解引用的指針(如下)
1
2
int *p;
*p = 10;
在C的yacc語法中,賦值表達式被這樣定義
assignment_expression
: conditional_expression
| unary_expression assignment_operator assignment_expression
;
也就是說,在純語法的層面,左值必須是一元表達式
⑶ Quartus II的編譯器對verilog文件中的乘法和除法運算符是否可以進行綜合
Quartus
II的編譯器對verilog文件中的乘法和除法運算符是可以進行綜合的,這些運算符綜合後生成的RTL門級的乘法和除法電路就是AlteraIP核所提供的乘法和除法電路,而megaweizard中的進行設置的乘除法運算的模式其實也就是調用了這些IP核,所以這些運算符所需要的資源其實主要是跟你的Verilog代碼中的描述相關的。
所以如果你根據你要進行的運算對於由megaweizard中生成的乘法和除法器文件,進行組合得到你想要的整個運算系統,你會發現由verilog代碼描述的運算電路說需要的資源和由使用megaweizard生成的乘法和除法器組合而成的運算電路,他們所需要的資源幾乎是相同的,不相同的應該也只是所使用到的寄存器的數量有些許差別,不知道幫到你沒有
⑷ C語言 運算符%是怎麼運算的
C語言中%的作用:%作為運算符是用來取余的
運算符(operator)是可以對數據進行相應操作的符號。如對數據求和操作,用加法運算符 '+',求積操作使用乘法運算符 '*' ,求余數用運算符'%'。等等
例如 :
一、25%4=1 ;25除以4商6餘數是1
二、33%5=3 ;33除以5商6餘數是3
(4)編譯器運算符擴展閱讀:
C語言常用的運算符
1. 算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3.邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算符
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.條件運算符
這是一個三目運算符,用於條件求值(?:)。
7.逗號運算符
用於把若干表達式組合成一個表達式(,)。
8.指針運算符
用於取內容(*)和取地址(&)二種運算。
9.求位元組數運算符
用於計算數據類型所佔的位元組數(sizeof)。
10.特殊運算符
有括弧(),下標[],成員(→,.)等幾種。
⑸ c語言邏輯運算符有哪些
C語言邏輯運算符分別是:或(||)、且(&&)、非(!),分別對應於命題邏輯中的 OR、AND、NOT運算。
邏輯運算符:或 ||。在命題邏輯中,當P=1或Q=1時,P||Q等於1。
邏輯運算符:且 &&。在命題邏輯中,當P=1且Q=1時,P&&Q才等於1。
邏輯運算符:非 !。在命題邏輯中,當P等於0時,!P等於1,反之亦然。
C語言的運算符號
比較特別的是,比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補0)位移。例如,將11100011右移3比特,算術右移後成為11111100,邏輯右移則為00011100。因算術比特右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術比特右移。
運算符的優先順序從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。
以上內容參考網路-C語言
⑹ C語言運算符!
%是除法取余運算。用於整數與整數運算。否則,不同的編譯器會得不同結果。'%'為取余運算符,用於把它前面的整數值或表達式除以其後面的整數值或表達式,結果為不能被後面的整數或表達式整除的最小整數,它後面的數值應該為大於1的正整數。
如"13%7",就表示13
除以7餘6。
作為雙目運算符,左右操作數可以是數值,也可以是表達式。但'%'運算符的左右操作數必須是整數。負數取余運算MS
VC++
編譯器:
-4
%
6
=
-4
6
%
-4
=
2
(6)編譯器運算符擴展閱讀:
在整數的除法中,只有能整除與不能整除兩種情況。當不能整除時,就產生余數,所以余數問題在小學數學中非常重要。
取余數運算:
a
mod
b
=
c
表示
整數a除以整數b所得余數為c。
余數的計算公式:c
=
a
-⌊
a/b⌋
*
b
其中,⌊
⌋為向下取整運算符,向下取整運算稱為Floor,用數學符號⌊
⌋表示
例:⌊
3.476
⌋=3,⌊6.7546⌋=6,⌊-3.14159⌋=
-4
如
7
mod
3
=
7-⌊7/3⌋*3=7-2*3=1
參考資料:余數_搜狗網路
⑺ c語言 運算符&是什麼意思舉個例子行嗎如11&10是什麼意思
在C語言中,「&」是表示按位邏輯與運算的運算符。
在你所舉的例子中,若一個表達式書寫成「11&10」,那麼編譯器會:
① 首先將11和10分別按照默認的數據類型(大部分情況下是int型)進行解析,分別解析成0x0000 000B 和 0x0000 000A;
② 對這兩個數據進行按位邏輯與運算,
0000 0000 0000 0000 0000 0000 0000 1011
0000 0000 0000 0000 0000 0000 0000 1010
逐位進行邏輯與運算之後,結果是:
0000 0000 0000 0000 0000 0000 0000 1010
綜上,這個表達式的結果就是 0x0000 000A。
⑻ 編譯器是如何處理java運算符
s1 = s1 + 1; 1默認是int,s1被提升為int計算,表達式s1 + 1的值也為int,
所以需要s1 = (short)(s1 + 1);
s1+= 1; 個人覺得是隱含了這樣的轉換 s1 = s1 + (short)1;
即把右側的數先強制轉換成當前類型。
⑼ VC++的編譯器中,運算符new底層的實現是什麼
和+, -, *, /差不多,都是語言內部機制。可能是用C和匯編寫的,直接操作硬體或操作系統。
回復:
暈,上面的五級的經理,看你級別挺高,怎麼不給個像樣的答案呢?說的跟算命先生似的。什麼也沒有。。
確實是說得簡單了。
不同編譯器的實現是不同的,現在給一個實現,只有一部分,其他的自己看gcc的源代碼。
#include <bits/c++config.h>
#include <cstdlib>
#include <exception_defines.h>
#include "new"
using std::new_handler;
using std::bad_alloc;
#if _GLIBCXX_HOSTED
using std::malloc;
#else
extern "C" void *malloc (std::size_t);
#endif
extern new_handler __new_handler;
_GLIBCXX_WEAK_DEFINITION void *
operator new (std::size_t sz) throw (std::bad_alloc)
{
void *p;
/* malloc (0) is unpredictable; avoid it. */
if (sz == 0)
sz = 1;
p = (void *) malloc (sz);
while (p == 0)
{
new_handler handler = __new_handler;
if (! handler)
#ifdef __EXCEPTIONS
throw bad_alloc();
#else
std::abort();
#endif
handler ();
p = (void *) malloc (sz);
}
return p;
}
⑽ C語言 運算符%是怎麼運算的
%是除法取余運算。適用於整數與整數運算。否則,不同的編譯器會得不同結果。
'%'為取余運算符,用於把它前面的整數值或表達式除以其後面的整數值或表達式,結果為不能被後面的整數或表達式整除的最小整數,它後面的數值應該為大於1的正整數。
作為雙目運算符,左右操作數可以是數值,也可以是表達式,但是左右兩邊的操作數必須是整數。
(10)編譯器運算符擴展閱讀:
c語言的運算符:
1.算術運算符:*
-
+
/
%
2.關系運算符:
>
<
==
!=
>=
<=
3.邏輯運算符:!
&&
||
4.位運算符:<<
>>
~
|
^
&
5.賦值運算符:=及擴展賦值運算符
6.條件運算符:?:
7.逗號運算符:,
8.指針運算符:*和&
9.求位元組數運算符:sizeof
10.強制類型轉換運算符:(類型)
11.分量運算符:.
->
12.下標運算符:[
]
13.其他:如函數調用運算符:()
參考資料:
運算符----搜狗網路